本文实例讲述了ES6基础之数组和对象的拓展。分享给大家供大家参考,具体如下:
1。拓展运算符(“…”),它相当于其他参数的逆运算,用于将一个数组转换为用逗号分隔的参数序列;
console.log (…[1,2,3])//1 2 3 控制台。日志(1,…(2、3、4),5)//1 2 3 4 5 >之前2。如果扩展运算符后面是一个空数组,则不产生任何效果;
[…[],1]//[1] >之前3。常见的拓展运算符的应用:
//合并数组 让arr1=[1, 2]; 让arr2=(3、4); 让arr3=(5、6); 让newArr=[…arr1,……arr2……arr3);//等同于ES5 []。concat (arr1 arr2 arr3)//(1、2、3、4、5、6)//与解构赋值结合(用于生成数组) 常量(val,……休息]=[1、2、3、4、5); val//1//其他(2、3、4、5)//将字符串转为真正的数组 让str=拔摇? […str]//[“m”、“我”、“n”,“e”)//可以将类数组转化成正真的数组 让arrayLike={ 0:“div.class1”, 1:“div.class2”, 2:“div.class3”, 长度:3 } console.log ([…arrayLike])//(“div.class1”、“div.class2”,“div.class3”) >之前4。新增<代码> Array.from 代码>方法,可以将类似数组的对象(数组类对象)和可遍历(iterable)的对象转化成真正的数组,该方法还可以接受第二个参数,作用类似于数组的映射方法,用来对每个元素进行处理,将处理后的值放入返回的数组;
让arr=(1、2、3); 加勒比海盗。地图(x=比;* x);//(1、4、9) Array.from (arr (x)=比;x * x)//(1、4、9) >之前5。新增<代码>数组。> 代码的方法,用于将一组值,转换为数组(该方法基本上可以用来替代<代码>数组()代码>或<代码> new Array() 代码>,避免出现参数不同而导致的重载);
//传统数组 ()//[]数组 数组(3)//(,,,) 阵列(1、2、3)//(1、2、3)//Array.of Array.of ()//[] Array.of(定义)//(定义) Array.of (1)//[1] 数组中。(1、2)//[1,2] >之前6。数组实例方法<代码>找到()代码>用于找出第一个符合条件的数组成员,该方法的参数是一个回调函数,该回调函数可以接收三个参数,依次是当前元素,当前元素索引,数组本身;如果查找成功,返回符合条件的第一个成员,如果没有符合条件的成员,则返回;
var arr=(1、2、4、5); var r=加勒比海盗。找到(函数(元素、索引、自我){ 返回元素% 2==0; }) r//2 >之前7。数组实例方法<代码> findIndex() 代码>,该方法的参数与<代码>找到()代码>一样,不同的是该方法返回的是第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回1;
var arr=(1、2、4、5); var r=加勒比海盗。找到(函数(元素、索引、自我){ 返回元素% 2==0; }) r//1 >之前ps:发现()和findIndex()这两个方法都可以发现南弥补了数组的IndexOf方法的不足。
8。数组实例方法<代码>包括()代码>,方法返回一个布尔值,表示某个数组是否包含给定的值,与字符串的包括方法类似;该方法接收两个参数,第一个参数是要查找的成员,第二个参数表示搜索的起始位置(如果为负数,则表示倒数的位置,如果大于数组长度,则会重置为从0开始)
(1、2、3)其中包括(2)//真实的 (1、2、3)其中(4)//假的 (1、2、3)。包括(3、3);//错误 (1、2、3)。包括(3,1);//正确的 >之前
1。ES6允许直接写入变量和函数,作为对象的属性和方法(在对象中,直接写变量时,属性名为变量名,属性值为变量的值)
//属性简写 var foo='酒吧'; var obj={foo}; obj//{foo:“酒吧”}//变量简写 我var={ foo, 方法(){//要做的 } } >之前2。ES6允许字面量定义对象时,用表达式作为对象的属性名或者方法名,即把表达式放在方括号内;
让propKey=癴oo”; 让obj={ [propKey]:没错, (“a”+“公元前”):123年, [' s ' + '是的'](){ 控制台。日志(“hello world”) } } obj//{“foo”:真的,“abc”: 123} obj.say ()//癶ello world”ES6基础之数组和对象的拓展实例详解