云迈博客

您现在的位置是:首页 > 前端技术 > 正文

前端技术

ES6数组新增方法

袁叶2020-11-22前端技术342
1.Array.from()方法是用于类似数组的对象(即有length属性的对象)和可遍历对象转为真正的数组。letjson={'0':'卢','1':'本','

1.Array.from()
方法是用于类似数组的对象(即有length属性的对象)和可遍历对象转为真正的数组。

<script>
let json ={
'0':'卢',
'1':'本',
'2':'伟',
length:3
}
let arr = Array.from(json);
console.log(arr); // ["卢", "本", "伟"]
</script>

2.Array.of()
方法是将一组值转变为数组,参数不分类型,只分数量,数量为0返回空数组。

<script>
let arr1 = Array.of(1,2,3);
let arr2 = Array.of([1,2,3]);
let arr3 = Array.of(undefined);
let arr4 = Array.of();
console.log(arr1); // [1, 2, 3]
console.log(arr2); // [[1, 2, 3]]
console.log(arr3); // [undefined]
console.log(arr4); // []
</script>

3.find()
方法返回通过测试(函数内判断)的数组的第一个元素的值。方法为数组中的每个元素都调用一次函数执行。当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。如果没有符合条件的元素返回 undefined。

回调函数可以接收3个参数,依次为当前的值(currentValue)、当前的位置(index)、原数组(arr)

注意:find() 对于空数组,函数是不会执行的。find() 并没有改变数组的原始值。

<script>
let Arr = [1,2,5,7,5,9];
let result1 = Arr.find(function(currentValue,index,arr){
return currentValue>5;
});
let result2 = Arr.find(function(currentValue,index,arr){
return currentValue>9;
});
console.log(result1); // 7
console.log(result2); // undefined
</script>

find()实现根据id取出数组中的对象

<script>
let Arr = [
{
id:1,
name:"张三"
},
{
id:2,
name:"李四"
}
];
let obj = Arr.find(function(currentValue,index,arr){
return currentValue.id===1;
});
console.log(obj.name); // 张三
</script>

4.findIndex ()
findIndex和find差不多,不过默认返回的是索引,如果没有符合条件的元素返回 -1

<script>
let Arr = [1,2,5,7,5,9];
let result1 = Arr.findIndex(function(currentValue,index,arr){
return currentValue>5;
});
let result2 = Arr.findIndex(function(currentValue,index,arr){
return currentValue>9;
});
console.log(result1); // 3
console.log(result2); // -1
</script>

5.fill()
fill()方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。

语法:array.fill(value, start, end)

value:必需。填充的值。

start:可选。开始填充位置。如果这个参数是负数,那么它规定的是从数组尾部开始算起。

end:可选。停止填充位置 (默认为 array.length)。如果这个参数是负数,那么它规定的是从数组尾部开始算起。

<script>
let arr = [1,2,3,4,5,6];
arr.fill(0); // [0, 0, 0, 0, 0, 0]
arr.fill(0,1); // [1, 0, 0, 0, 0, 0]
arr.fill(0,1,2); // [1, 0, 3, 4, 5, 6]
arr.fill(0,-1); // [1, 2, 3, 4, 5, 0]
arr.fill(0,1,-1); // [1, 0, 0, 0, 0, 6]
</script>

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~