javascript数组的内置方法详解
目录
- 1.Array.at()
- 2. Array.copyWithin()
- 3. Array.entries()
- 4. Array.fill()
- 5.find()
- 总结
1.Array.at()
功能:接受一个整数值并返回该索引处的项目,允许正整数和负整数。负整数从数组中的最后一项开始计数。
语法:Array.at(index)
参数:index:要返回的数组元素的索引(位置)。当传递一个负索引时,支持从数组末尾开始相对索引;即,如果使用负数,将通过从数组末尾开始倒数来找到返回的元素。
返回值:数组中与给定索引匹配的元素。undefined如果找不到给定的索引,则返回
<script type="text/javascript"> var arr = [1,2,3,4,5]; var newarr = arr.at(-1); console.log(newarr);// 5 var newarr = arr.at(3); console.log(newarr);// 4 </script>
2. Array.copyWithin()
功能:浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。
语法:arr.copyWithin(target[, start[, end]])
参数:
target:
0 为基底的索引,复制序列到该位置。如果是负数,target 将从末尾开始计算。
如果 target 大于等于 arr.length,将会不发生拷贝。如果 target 在 start 之后,复制的序列将被 修改以符合 arr.length。
start:
0 为基底的索引,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。
如果 start 被忽略,copyWithin 将会从0开始复制。
end:
0 为基底的索引,开始复制元素的结束位置。copyWithin 将会拷贝到该位置,但不包括 end 这 个位置的元素。如果是负数, end 将从末尾开始计算。
如果 end 被忽略,copyWithin 方法将会一直复制至数组结尾(默认为 arr.length)
<script type="text/javascript"> var arr = [1,2,3,4,5]; var arr2= arr.copyWithin(-2) console.log(arr2); // [1, 2, 3, 1, 2] var arr3= arr.copyWithin(0, 3) console.log(arr3); // [4, 5, 3, 4, 5] var arr4= arr.copyWithin(0, 3, 4) console.log(arr4); // [4, 2, 3, 4, 5] var arr5= arr.copyWithin(-2, -3, -1) console.log(arr5); // [1, 2, 3, 3, 4] </script>
3. Array.entries()
功能:返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。
语法:arr.entries()
返回值:一个新的 Array 迭代器对象。Array Iterator是对象,它的原型(__proto__:Array Iterator)上有一个next方法,可用用于遍历迭代器取得原数组的[key,value]。
<script type="text/javascript"> var array1 = ['a', 'b', 'c']; var iterator1 = array1.entries(); console.log(iterator1.next().value); // expected output: Array [0, "a"] console.log(iterator1.next().value); // expected output: Array [1, "b"] </script>
4. Array.fill()
功能:用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
语法:arr.fill(target[, start[, end]])
参数:
- value:用来填充数组元素的值。
- start :可选,起始索引,默认值为0。
- end :可选,终止索引,默认值为 this.length。
返回值:修改后的数组
<script type="text/javascript"> var array1 = [1, 2, 3, 4]; // fill with 0 from position 2 until position 4 console.log(array1.fill(0, 2, 4)); // expected output: [1, 2, 0, 0] // fill with 5 from position 1 console.log(array1.fill(5, 1)); // expected output: [1, 5, 5, 5] console.log(array1.fill(6)); // expected output: [6, 6, 6, 6] </script>
5.find()
功能:返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
语法:arr.find(callback[, thisArg])
参数:
- callback:在数组每一项上执行的函数,接收 3 个参数:
- element:当前遍历到的元素。
- index:可选,当前遍历到的索引。
- array:可选,数组本身。
- thisArg可选,执行回调时用作this 的对象。
返回值:数组中第一个满足所提供测试函数的元素的值,否则返回 undefined。
<script type="text/javascript"> var array1 = [5, 12, 8, 130, 44]; var found = array1.find(element => element > 10); console.log(found); // 12 </script>
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!