//! 展开运算符 //TODO spread ... // Math.max() 方法可以返回传输列表中的最大值 console.log(Math.max(1, 56, 25, 68, 30)); // 68 const array = [1, 56, 25, 68, 30]; //TODO 求数组array中最大值 var maxValue = array[0]; // 默认最大值 为 数组中的第一个元素 array.forEach((v) => { if (v > maxValue) { maxValue = v; } }); // 循环结束后 maxValue就是最大值 console.log(maxValue); // 68 // 通过apply方法去调用max方法 这样就可以将数组元素作为参数传给max console.log(Math.max.apply(undefined, array)); // 68 //! 使用展开运算符 console.log(Math.max(...array)); // 将数组中元素展开依次传入max方法中 function sum(x, y) { console.log(x + y); } // x, y参数值 在一个数组中 var arr = [2, 3]; sum(...arr); // 拷贝数组 var arr1 = [1, 2, 3]; var arr2 = arr1.slice(0); var arr3 = [...arr1]; // 合并多个数组 var arr1 = [0, 1, 2]; var arr2 = [3, 4, 5]; var arr3 = [...arr1, ...arr2]; // 在对象上 也可以使用 spread var obj1 = { foo: 'bar', x: 42 }; var obj2 = { foo: 'baz', y: 13 }; var clonedObj = { ...obj1 }; // 克隆后的对象:{ foo: "bar", x: 42 } var mergedObj = { ...obj1, ...obj2 }; // 合并后的对象:{ foo: "baz", x: 42, y: 13 }