常见的伪数组有
- 由DOM元素组成的一组集合
- DOM元素的children属性
- 函数内置对象arguments
- Set数据结构
伪数组 ----> 数组 的方法
- Array.from()
- …扩展运算符
看如下代码
function fun() {
console.log(arguments)
console.log('[...arguments]', [...arguments])
console.log('Array.from(arguments)', Array.from(arguments))
}
fun(1, 2, 3, 4)
const s = new Set([5, 6, 7, 8, 9])
console.log(s)
console.log('[...s]', [...s])
console.log('Array.from(s)', Array.from(s))
代码结果
[Arguments] { '0': 1, '1': 2, '2': 3, '3': 4 }
[...arguments] [ 1, 2, 3, 4 ]
Array.from(arguments) [ 1, 2, 3, 4 ]
Set { 5, 6, 7, 8, 9 }
[...s] [ 5, 6, 7, 8, 9 ]
Array.from(s) [ 5, 6, 7, 8, 9 ]
扩展运算符更多应用场景
- 合并数组,对象
console.log([...[1, 2, 3, 4], ...[10, 20, 30, 40]])
console.log({
...{ uname: 'dj' },
...{
age: 100,
say() {
console.log('say function')
}
}
})
代码结果
[
1, 2, 3, 4,
10, 20, 30, 40
]
{ uname: 'dj', age: 100, say: [Function: say] }
- 伪数组 ----> 数组 看最上面的代码
- 向数组添加多个元素
let arr = [1, 2, 3, 4]
arr.push(...[5, 6, 7])
console.log(arr)
代码结果
[
1, 2, 3, 4,
5, 6, 7
]
- 使用Math对象求数组的最大最小值
let arr = [1, 2, 3, 4]
console.log(Math.max(...arr)) // 4