// 数组合并let arr =[1,2,3];const result = arr.concat([4,5,6],7,8);
console.log(result);const result =concat(arr,[4,5,6],7,8,[9,10]);
三、slice 方法
slice 方法,数组元素的切片。
slice 的实现,代码如下所示:
functionslice(arr, begin, end){// 若 arr 数组长度为 0 if(arr.length ===0){return[];}// 判断 begin
begin = begin ||0;if(begin >= arr.length){return[];}// 判断 end
end = end || arr.length;if(end < begin){
end = arr.length;}// 声明一个空数组const result =[];// 遍历对象for(let i=0;i<arr.length;i++){if(i >= begin && i< end){// 将下标对应的元素压入数组
result.push(arr[i]);}}return result;}
手写函数 slice 的应用,代码如下所示:
// 数组切片let arr =[1,3,4,52,2,8];let result = arr.slice(1,5);
console.log(result);const result =slice(arr,1,5);const result =slice(arr);
console.log(result);
functionflatten1(arr){// 声明空数组let result =[];// 遍历数组
arr.forEach(item=>{// 判断if(Array.isArray(item)){
result = result.concat(flatten1(item));}else{
result = result.concat(item);}});// 返回结果return result;}functionflatten2(arr){// 声明数组let result =[...arr];// 循环判断while(result.some(item=> Array.isArray(item))){
result =[].concat(...result);}// 返回结果return result;}