zoukankan      html  css  js  c++  java
  • ES6-05:数组的扩展

    ES6对于JavaScript数组对象的扩展,主要是为了增强数组的创建及元素的操作方法;具体来说即一个运算符、数组创建方法、数组元素操作方法、数组属性操作方法四个方面;

    1.增加一个运算符——扩展运算符...

    扩展运算符(spread):如同rest参数的逆运算,将一个数组转换成用逗号分隔的序列,扩展运算符内部调用的是数据结构的Interator接口,因此,主要有Iterator接口的对象,,都可以使用扩展运算符;可替代apply方法;

    console.log(...[1,2,3]);//1 2 3
    console.log(1,...[2,3,4],5); // 1 2 3 4 5
    let a=[1,2,3];
    let b=[1,2,3];
    a.push([4,5]); // [1,2,3,[4,5]]
    b.push(...[4,5]);//[1,2,3,4,5]
    

    2. 新增创建方法

    • Array.from(obj):将类数组对象(具有length属性)、可遍历对象(包括 Set/Map)转换成真正的数组;
    • Array.of(arugs):将一组值转换为数组,如:Array.of(3);//[3]Array.of(1,2,3);//[1,2,3];
    • Array.fill(value,startIndex,endIndex):用指定值value来填充数组中指定位置值,若没有第二、第三个参数,则填充数组中所有空值元素;

    3. 新增元素操作方法

    • Array.copyWithin(targetIndex,startIndex=0,endIndex):将当前数组内部制定位置成员复制到其他位置(覆盖原值),返回新数组,会改变当前数组;
    • Array.find(fn(value,index,arr){},thisObj):找出数组中第一个符合条件的成员,若找到,返回true,否则返回false;
    • Array.findIndex(fn(value,index,arr){},thisObj):找出数组中第一个符合条件的成员,若找到,返回index,否则返回-1;
    • Array.includes(value,startIndex):从数组中指定位置开始,查看数组中是否包含元素value;

    4.新增数组属性方法:

    • Array.keys():获取数组中所有的键名,返回一个遍历器对象;
    • Array.values():获取数组中所有的值,返回一个遍历器对象;
    • Array.entries():获取数组中所有的键值对,返回一个遍历器对象;[]

    PS:ES6 中对数组中的空位元素,统一处理成undefined;而ES5对空位处理:①map()跳过空位,但保留值;②forEach()、filter()、every()、some()都会跳过空位;③join()、toString()将空位视为undefined,而undefined、null处理成空字符串;

  • 相关阅读:
    cocos2d-x ios 设置横屏/竖屏(全)
    决策树之ID3算法实现(python)
    基于Spring开发的DUBBO服务接口测试
    Mac电脑下配置maven环境变量
    Mac Eclipse+Maven+TestNg+ReportNg 生成测试报告
    TestNG+Maven+IDEA环境搭建
    115个Java面试题和答案——终极列表(上)
    115个Java面试题和答案——终极列表(下)
    阿里巴巴常考面试题及汇总答案
    阿里面试回来,想和Java程序员谈一谈
  • 原文地址:https://www.cnblogs.com/hbzyin/p/8012301.html
Copyright © 2011-2022 走看看