说明
_.concat(array, [values])
创建一个新数组,将array与任何数组 或 值连接在一起。
举例:
var array = [1];
var other = _.concat(array, 2, [3], [[4]]);
console.log(other);
console.log(array);
实现
function myConcat(array = [], ...arr) {
if (!Array.isArray(array)) {
return array;
}
const newArr = arr.reduce((n, item) => {
if (Array.isArray(item)) {
n.push(...item);
} else {
n.push(item);
}
return n;
}, []);
return newArr;
}
const arr = [1];
console.log(myConcat(arr, [2], 3, [4, [5, 6]], { name: 1 }));
console.log(arr);
总结:这里用到的知识点为:利用 reduce 函数来进行汇总和浅克隆