当前位置 : 主页 > 网络编程 > JavaScript >

javascript数组的内置方法详解

来源:互联网 收集:自由互联 发布时间:2022-04-19
目录 1.Array.at() 2. Array.copyWithin() 3. Array.entries() 4. Array.fill() 5.find() 总结 1.Array.at() 功能 :接受一个整数值并返回该索引处的项目,允许正整数和负整数。负整数从数组中的最后一项开始
目录
  • 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>

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注自由互联的更多内容!

上一篇:Javascript数组去重的几种方法详解
下一篇:没有了
网友评论