logo头像

求知若渴,虚心若愚

JavaScript - 数组( Array ) - ES6新增数组方法(二)

copyWithin()

  • 在当前数组内部,将制定位置的数组复制到其他位置
  • 会覆盖原数组项
  • 返回当前数组
  • arr.copyWithin()
    • target –必选 索引从该位置开始替换数组项
    • start –可选 索引从该位置开始读取数组项,默认为0.如果为负值,则从右往左读。
    • end –可选 索引到该位置停止读取的数组项,默认是Array.length,如果是负值,表示倒数
1
2
3
4
5
6
7
let arr = [11, 22, 33, 44, 55, 66, 77]
let arr1 = arr.copyWithin(1)
console.log(arr1) // [11, 11, 22, 33, 44, 55, 66]
let arr2 = arr.copyWithin(1, 2)
console.log(arr2) // [11, 22, 33, 44, 55, 66, 66]
let arr3 = arr.copyWithin(1, 2, 4)
console.log(arr3) // [11, 33, 44, 44, 55, 66, 66]

includes

  • 判断数中是否包含给定的值
1
2
3
4
5
6
7
8
9
let arr = [11, 22, 33, 44, 55]
let arr1 = arr.includes(33)
console.log(arr1) // ture

let arr2 = arr.includes(88)
console.log(arr2) // false

let arr3 = [11, 22, 33, NaN].includes(NaN)
console.log(arr3) // true

TIP
includes与indexOf()

  • indexOf()返回的是数值,而includes()返回的是布尔值

  • indexOf() 不能判断NaN,返回为-1 ,includes()则可以判断

entries()

  • 遍历数组的键名和键值
1
2
3
4
5
6
7
8
9
let arr = [11, 22, 33, 44]
let arr1 = arr.entries()
for (let e of arr1) {
console.log(e);
// [0, 11]
// [1, 22]
// [2, 33]
// [3, 44]
}

keys()

  • 遍历数组的键名
1
2
3
4
5
let arr = [11, 22, 33, 44]
let arr2 = arr.keys()
for (let key of arr2) {
console.log(key); // 0,1,2,3
}

values()

  • 遍历数组键值
1
2
3
4
5
let arr = [11,22, 33, 44]
let arr1 = arr.values()
for (let val of arr1) {
console.log(val); // 11,22,33,44
}
支付宝打赏 微信打赏

赞赏是对我们的肯定!