es6对数组新增了部分方法,此节我们对常用的几个进行讲解,
分别是Array.of()、Array.from()、find()、findIndex()、fill()、entries()、values(),
此外还有一个更简洁的语法:数组推导,能让我们更方便地生成一个新数组。
Array.of()函数:可以将一组值,转换成数组。
Array.of("1",2,"3",4,5);
//["1",2,"3",4,5]
Array.from()函数:可以将类似数组的对象或者可遍历的对象转换成真正的数组。
var arr={"name":500}
Array.from(ele) instanceof Array;
//true
var str = 'look';
Array.from(str);
//结果:["l", "o", "o", "k"]
find()函数:找出数组中符合条件的第一个元素。
let arr = [1,2,3,4,5,6];
arr.find(function(value){
return value > 2;
});
//结果:value=3
findIndex()函数:返回符合条件的第一个数组成员的位置。
let arr = [7,8,9,10];
arr.findIndex(function(value){
return value > 8;
});
//结果:2
fill()函数:用指定的值,填充到数组。
let arr = [1,2,3];
arr.fill(4);
//结果:[4,4,4]
let arr = [1,2,3];
arr.fill(4,1,3);
//结果:[1,4,4]
上面的代码中第2个参数和第3个参数的意思是:从位置1的元素开始填充数字4,截止到位置3之前,所以是位置1和位置2的元素被数字4填充了,得到的结果:[1,4,4]。
entries()函数:对数组的键值对进行遍历,返回一个遍历器,可以用for..of对其进行遍历。
for(let [i,v] of ['a','b','c'].entries())
{
console.log(i,v);
}
//0 "a"
//1 "b"
//2 "c"
keys()函数:对数组的索引键进行遍历,返回一个遍历器。
for(let index of ['a', 'b'].keys())
{
console.log(index);
}
//0
//1
values()函数:对数组的元素进行遍历,返回一个遍历器。
for(let value of ['a', 'b'].values())
{
console.log(value);
}
//a
//b
最后介绍一下数组推导:数组推导就是用简洁的写法,直接通过现有的数组生成新数组。
var arr1 = [1, 2, 3, 4];
var arr2 = [for(i of arr1) i * 2];
console.log(arr2);
//结果: [ 2, 4, 6, 8 ]
也可以通过添加if语句来调整限制条件
var array1 = [1, 2, 3, 4];
var array2 = [for(i of array1) if(i>3) i];
console.log(array2);
//结果: [4]
公众号
网友评论