0
点赞
收藏
分享

微信扫一扫

Array 【javascript】


Array 【javascript】

构造数组

console.log(Array("1", "2")); //[ '1', '2' ]
console.log(new Array(5)); //[ <5 empty items> ]
console.log(Array.of(1, 2, 3)); //[1,2,3]

length属性

console.log([1, 2, 3].length); //3

从 String\Map\Set 转为 Array

let map = new Map().set("hi", 1).set("lp", 0);
console.log(map);
let set = new Set().add(1).add(2).add(1, 2);
console.log(set); //1 2
console.log(Array.from("hello")); //[ 'h', 'e', 'l', 'l', 'o' ]
console.log(Array.from(map)); //[ [ 'hi', 1 ], [ 'lp', 0 ] ]
console.log(Array.from(set)); //[ 1, 2 ]

带有length属性的对象 转为 Array

console.log(Array.from({
0: 1,
1: 2,
2: 3,
length: 3
})); //[1,2,3]

Array.from(array,fun)

let x = [1, 2, 3];
console.log(Array.from(x, number => number + 2)); //[3,4,5]

arguments对象转array

function test() {
console.log(arguments); //[Arguments] { '0': 1, '1': 2, '2': { l: 1 } }
console.log(Array.from(arguments)); //[ 1, 2, { l: 1 } ]
}
test(1, 2, {
l: 1
});

Array.of(…args) 将参数转为Array

console.log(Array.of(1, 2, 4)); //[1,2,4]

//map
console.log(Array.of(1, 2, 3).map((v, i) => {
return v + i;
})); //[1,3,5]

join

console.log(x.join('-')); //1-2-3

数组空位

x = [1, , 2, 3];
console.log(x[1]); //undefined
//map()会跳过空位置
//join()会视空位置为空字符串
x = [1, 2, 3];
x[5] = 9;
console.log(x); //[ 1, 2, 3, <2 empty items>, 9 ]
console.log(x.length); //6

检测数组

x = [1, 2, 3];
console.log(Array.isArray(x)); //true
``

## 迭代器 keys() values() entries()
```js
x = [1, 2, 3];
console.log(x.keys()); //[0, 1, 2]
console.log(x.values()); //[1,2,3]
console.log(x.entries()); //[[0,1],[1,2],[2,3]]
for (const [v, i] of x.entries()) {
console.log([v, i]); //[0,1] [1,2] [2,3]
}

数组析构

x = [1, 2];
const [a, b] = [...x];
console.log(a, b); //1 2

…正在更新中



举报

相关推荐

0 条评论