ES6-数组的扩展

数组的深拷贝方法

  • 1.for 循环
let arr = [1,2,3,4,5];
let arr1 = [];
for(let i = 0;i < arr.length;i++){
    arr1[i] = arr[i];
}
arr1.push(6);
console.log(arr1);//[1, 2, 3, 4, 5, 6]
  • 2.concat();
let arr = [1,2,3,4,5];
let arr2 = [].concat(arr);
arr2.push(6);
console.log(arr2);//[1, 2, 3, 4, 5, 6]
    1. ... 扩展运算符
let arr = [1,2,3,4,5];
let arr3 = [...arr];
let [...arr4} = arr;
arr3.push(6);
arr4.push(6);
console.log(arr3);//[1, 2, 3, 4, 5, 6]
console.log(arr4);//[1, 2, 3, 4, 5, 6]
... 拓展
let arr = [1,2,3,4,5];
console.log(...arr);//1 2 3 4 5

let [a,b,...c] = arr;
console.log(c);//[3, 4, 5]

function fn1(...arg){
        //arguments
       console.log(arg);//[1, 2, 3, 4, 5, 6, 7, 8]
}
fn1(1,2,3,4,5,6,7,8);

数组的操作方法

  • 1.数组排序 .sort();
let arr = [6,1,4,5,3,2];
console.log(arr.sort());//[1, 2, 3, 4, 5, 6]
  • 2.flat();
    将多维数组展开成一维数组,通常用于数据处理
let arr = [[1,2,3,[4,5,6,[7,8[9,0]]],[11,12,13]]];
console.log(arr.flat(1));//[1, 2, 3, Array(4), Array(3)]
console.log(arr.flat(2));//[1, 2, 3, 4, 5, 6, Array(3), 11, 12, 13]
console.log(arr.flat(Infinity));[1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 11, 12, 13]
//参数写几,就展开几层
//展开所有层,参数用Infinity
  • 3.forEach();
    用于遍历数组中的每一个元素
let arr = [1,2,3,4,5,6,7,8,9];
arr.forEach(value,index,array) =>{
    console.log(value,index,array);
    //第一个参数当前元素值
    //第二个参数当前元素的索引值
    //第三个参数原数组
    *参数名不固定,但是参数顺序固定*
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 扩展运算符; 扩展运算符(spread)是三个点(...);它好比rest参数的逆运算;将一个数组转为用逗号分隔的...
    吴高亮阅读 667评论 0 1
  • 扩展运算符 ...···javascriptconsole.log(...[1,2,3]);··· Array.f...
    ysdyyy阅读 153评论 0 0
  • 1.Array.from() :用于将类似数组的对象和可遍历的对象转化为真正的数组。 eg:arguments对象...
    井皮皮阅读 68评论 0 1
  • 数组新增特性 Array.from Array.of copyWithin find\findIndex fill...
    王童孟阅读 553评论 0 0
  • 1.类数组转数组的方式 (常见的类数组 arguments DomHtml 等) (1) Es5 常用方式: [...
    Lyon2066阅读 209评论 0 0