ES6里数组新增的方法

1.Array.from

Array.from( )用于将一个类数组对象或者可遍历对象转换成一个真正的数组。
那么什么是类数组对象呢?所谓类数组对象,最基本的要求就是具有length属性的对象。
例子1:

function show( ){
let args = Array.from(arguments);
args.push(6);
console.log(args); // [1,2,3,4,5,6]
}

show(1,2,3,4,5)

例子2:
let str = “Strive”;
let arr = Array.from(str);
console.log(arr); // [‘S’,‘t’,‘r’,‘i’,‘v’,‘e’]

好,再来看个重要的例子:

let shuiguo ={
0:‘apple’,
1:‘banana’,
2:‘orange’,
}

let arr = Array.from(shuiguo);
console.log(arr); // [ ]
没错,我们发现打印出一个空数组。好,刚刚说过,类数组只要有length属性就靠谱,我们改改:

let shuiguo ={
0:‘apple’,
1:‘banana’,
2:‘orange’,
length:3
}

let arr = Array.from(shuiguo);
console.log(arr); // [ ‘apple’,‘banana’,‘orange’ ]

当我们加上length属性,且值为3时此时打印出了数组,当我们把length值改为2时此时结果为[ ‘apple’,‘banana’ ],当我们把length值改为4时此时结果为[ ‘apple’,‘banana’,‘orange’,undefined ]

2.Array.of

Array.of( )用于将一组值转换成一个真正的数组。
let arr = Array.of(‘apple’,‘banana’,‘orange’);
console.log(arr); // [ ‘apple’,‘banana’,‘orange’ ]

3.find方法

find方法用于查找符合条件的第一个数组成员,没找到就返回undefined.

let arr = [1,2,3,4,5];
let res = arr.find(function(val,index,arr){
return val > 3
})
console.log(res); //4

4.findIndex方法

findIndex方法用于查找符合条件的第一个数组成员对应的索引值,找的是位置,没找到就返回-1.

let arr = [1,2,3,4,5];
let res = arr.findIndex(function(val,index,arr){
return val > 3
})
console.log(res); //3

5.fill方法

fill方法用于填充数据,主要有三个参数,用法是arr.fill(填充的东西,从哪开始填充,不包含的结束位置)

let arr =new Array(4);
arr.fill(‘明哥’);
console.log(arr);
打印结果如下:
在这里插入图片描述
好,我们再改改代码:
let arr =new Array(4);
arr.fill(‘明哥’,1,3);
console.log(arr);
打印结果如下:
在这里插入图片描述

6.includes方法

includes方法用来判断一个数组是否包含一个指定的值,包含就返回 true , 否则返回false。
var arr = [1, 2, 3, 2, 5];
console.log(arr.includes(2)); // true
console.log(arr.includes(6)); // false

7.entries、keys和values

ES6提供三个新的方法— entries( )、keys( )和 values( )用于遍历数组。它们都返回一个遍历器,可以用for…of循环进行遍历,唯一的区别在于,keys( )是对键名的遍历, values( )是对键值的遍历,entries( )是对键值对的遍历。

for(let index of ['a’,'b’].keys ( )){
console.log(index);
}
//0
//1

for (let elem of ['a’,'b’].values()){
console.log(elem);
}

// 'a’
// ‘b’

for (let [index, elem] of ['a’,‘b’].entries( )){
console.log(index, elem);
}

// 0 “a”
// 1 “b”

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值