1.扩展运算符…
ES6——扩展运算符…
2.Array.from()
将两类对象转为真正的数组:类数组(querrySelectAll)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)
类数组
1.赋给length属性的对象
let k={ 0:'a', 1:'b', length:2 } console.log(Array.from(k));
2.字符串也有length属性,它也是类数组
let str='hello'; console.log(Array.from(str));
3.参数如果是真正的数组 则返回一个全新数组
let s1=[1,2,3]; let s2=Array.from(s1); console.log(s2==s1);
3.Array.of()
将一组值,转换为数组
Array.of(3, 11, 8) Array.of(3) Array.of(3).length
这个方法的主要目的,是弥补数组构造函数Array()的不足。因为参数个数的不同,会导致Array()的行为有差异。
只有当参数个数不少于 2 个时,Array()才会返回由参数组成的新数组
Array() Array(3) Array(3, 11, 8)
4.find() 和 findIndex()
find方法,用于找出第一个符合条件的数组成员
var result1=[1,2,3,4].find(function (item) { return item%2==0; }) console.log(result1);
findIndex方法,返回第一个符合条件的数组成员的位置。
如果所有成员都不符合条件,则返回-1
var result1=[1,2,3,4].findIndex(function (item) { return item%2==0; }) console.log(result1);
5.fill() 填充数组
使用给定值,填充一个数组
console.log(new Array(5).fill('a'));
fill方法还可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置。
['a', 'b', 'c'].fill(7, 1, 2)
6.数组实例的 entries(),keys() 和 values()
Set,Map,Object中都有这些方法
entries(),keys()和values()——用于遍历数组。
它们都返回一个遍历器对象,可以用for…of循环进行遍历
唯一的区别是keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。
let yes=[1,2,3,4]; console.log(yes.keys()); console.log(yes.values()); console.log(yes.entries());
let yes=[1,2,3,4]; for(let key of yes.keys()){ console.log(key); } for(let key of yes.values()){ console.log(key); } for(let [key,value] of yes.entries()){ console.log(key,value); }
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
7.includes()
console.log([1, 2, 3].includes(1)); console.log([1, 2, 3].includes(1,1));
8.flat()
将嵌套的数组“拉平”,变成一维的数组。
该方法返回一个新数组,对原数据没有影响
console.log([1, 2, [3, 4]].flat()); console.log([1, 2, [3, [4, 5]]].flat(2)); console.log([1, 2, [3, 4, [5, 6, [7, 8]]]].flat(Infinity));
9.reduce()
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。对空数组是不会执行回调函数的。
1.计算数组总和
var num = [1,2,3,4,5]; var res = num.reduce(function(total,num){ return total+num; },0); console.log(res);
2.合并二维数组
var red = [[0, 1], [2, 3], [4, 5]].reduce(function(a, b) { return a.concat(b); }, []); console.log(red);
3.统计一个数组中有多少个不重复的单词
reduce()函数
蓝蓝设计建立了UI设计分享群,每天会分享国内外的一些优秀设计,如果有兴趣的话,可以进入一起成长学习,请扫码蓝小助,报下信息,蓝小助会请您入群。欢迎您加入噢~~希望得到建议咨询、商务合作,也请与我们联系。
分享此文一切功德,皆悉回向给文章原作者及众读者.
转自:csdn
免责声明:蓝蓝设计尊重原作者,文章的版权归原作者。如涉及版权问题,请及时与我们取得联系,我们立即更正或删除。
蓝蓝设计( www.lanlanwork.com )是一家专注而深入的界面设计公司,为期望卓越的国内外企业提供卓越的UI界面设计、BS界面设计 、 cs界面设计 、 ipad界面设计 、 包装设计 、 图标定制 、 用户体验 、交互设计、 网站建设 、平面设计服务