7.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //! 展开运算符
  2. //TODO spread ...
  3. // Math.max() 方法可以返回传输列表中的最大值
  4. console.log(Math.max(1, 56, 25, 68, 30)); // 68
  5. const array = [1, 56, 25, 68, 30];
  6. //TODO 求数组array中最大值
  7. var maxValue = array[0]; // 默认最大值 为 数组中的第一个元素
  8. array.forEach((v) => {
  9. if (v > maxValue) {
  10. maxValue = v;
  11. }
  12. });
  13. // 循环结束后 maxValue就是最大值
  14. console.log(maxValue); // 68
  15. // 通过apply方法去调用max方法 这样就可以将数组元素作为参数传给max
  16. console.log(Math.max.apply(undefined, array)); // 68
  17. //! 使用展开运算符
  18. console.log(Math.max(...array)); // 将数组中元素展开依次传入max方法中
  19. function sum(x, y) {
  20. console.log(x + y);
  21. }
  22. // x, y参数值 在一个数组中
  23. var arr = [2, 3];
  24. sum(...arr);
  25. // 拷贝数组
  26. var arr1 = [1, 2, 3];
  27. var arr2 = arr1.slice(0);
  28. var arr3 = [...arr1];
  29. // 合并多个数组
  30. var arr1 = [0, 1, 2];
  31. var arr2 = [3, 4, 5];
  32. var arr3 = [...arr1, ...arr2];
  33. // 在对象上 也可以使用 spread
  34. var obj1 = { foo: 'bar', x: 42 };
  35. var obj2 = { foo: 'baz', y: 13 };
  36. var clonedObj = { ...obj1 };
  37. // 克隆后的对象:{ foo: "bar", x: 42 }
  38. var mergedObj = { ...obj1, ...obj2 };
  39. // 合并后的对象:{ foo: "baz", x: 42, y: 13 }