Skip to content

数组的合并

JavaScript
const tx = ["微信","qq","王者荣耀"]
const ali = ["支付宝","淘宝","饿了么"]
// es5 方法
// const newArr = tx.concat(ali)
// es6 方法
const newArr = [...tx,...ali]
console.log(newArr);

数组的克隆

JavaScript
const num1 = [1,2,3]
const num2 = [...num1]
console.log(num2);

将伪数组转换为真正的数组

JavaScript
// div*3
let divs = document.querySelectorAll("div")
let divArr = [...divs]
console.log(divArr);

数组的一些方法

1. from()

from() 将伪数组转换成真正的数组,伪数组如argumentsfrom()还可以接受第二个参数,用来对每一个元素进行处理。

JavaScript
function add(){
    // es5方法
    let eArr = [].slice.call(arguments)
    console.log(eArr)

    // es6写法
    let esArr = Array.from(arguments)
    console.log(esArr)

    // 扩展运算符
    /let nArr = [...arguments]
    console.log(nArr)
}
add(1,2,3)

2. of()

将数值转换为数组

JavaScript
console.log(Array.of(1,2,34,5,6,[121,3234],{name:'lisi'}));

3. copywithin()

浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。 替换序列到该位置,开始复制元素的起始位置(包括),开始复制元素的结束位置(不包括)

JavaScript
console.log([1,2,3,4,5,6,7].copyWithin(2,4,6));

4. find();findIndex()

找出第一个符合条件的元素;找出第一个符合条件的元素的索引

JavaScript
console.log([1,2,3,4,-10,-20].find((value) => value<0))

5. 遍历器

entries() ,key() ,values() 返回一个遍历器,可以使用数组的for of循环进行遍历。

javascript
// 键名遍历
for (index of [1, 2, 3].keys()) {
    console.log(index);
}

// 键值遍历
for (value of ["a", "b", "c"].values()) {
    console.log(value);
}

// 键值一起遍历
for (let [index,ele] of ["a", "b", "c"].entries()){
    console.log([index,ele]);
}
javascript
let letter = ['a','b','c']
// 输出遍历器
let it = letter.entries()
console.log(it.next().value);
console.log(it.next().value);
console.log(it.next().value);

6. includes()

返回一个布尔值,表示某个数组是否包含给定的值。

javascript
console.log([1,2,34,5,67,1].includes(11));
// 之前 indexOf()找到了是返回位置,没找到是返回-1。而includes返回的是布尔值