数组知识

在ES6中新增了一些数组方法来简化代码量。ES6把所有对数组的操作都归结与Array.


json数组格式转换

首先来看看json格式,要注意与普通的json不一样的是必须后面要跟一个length

1
2
3
4
5
6
let json = {
'0' : 'aaa',
'1' : 'bbb',
'2' : 'ccc',
length: 3
}

下面我们只需一步就可以把它打印成数组形式,那就是调用from方法

1
2
let arr = Array.from(json);
console.log(arr); // ["aaa", "bbb", "ccc"]

Array.of()

of方法可以用于将一堆变量或字符串转化成数组的情况下。

1
2
let arr = Array.of('1','2','3');
console.log(arr); //["1", "2", "3"]

find 实例方法

find(function(value,index,arr){})三个参数缺一不可,用于寻找元素,比如

1
2
3
4
let arr = [1,2,3,4,5,6,7];
console.log(arr.find(function(value,index,arr){
return value>4; //5
}))

函数里的函数体根据需要写,当然不仅是数字,也可用来查找字符串。

fill实例方法

fill方法是用来替换数组中元素的,他有三个参数,分别是替换值,起始位置(包括),末位置(不包括),栗子如下(实例方法由实例调用而不是Array.)

1
2
let arr = [1,2,3,4,5,6,7];
console.log(arr.fill(0,0,4)); //0000567

数组遍历

在ES5中遍历数组我们采用的形式低效,ES6给我提供了高效的方式,如下所示

1
2
3
4
let arr = [1,2,3,4,5,6];
for(let value of arr){
console.log(value);
}

当我们想得到索引时可以这样

1
2
3
4
let arr = [1,2,3,4,5,6];
for(let index of arr.keys()){
console.log(index);
}

当我们需要索引和元素一起打印时可以这样

1
2
3
4
let arr = [1,2,3,4,5,6];
for(let [index,value] of arr.entries()){
console.log(index+':'+value);
}

entries()实例方法

当我们想要数组里的元素不按常规形式输出,而是想要像输出一个元素就来个一行样式

1
2
3
let arr = [1,2,3,4,5,6];
let list = arr.entries();
console.log(list); //Iterator {}

这样我们就得到了Iterator {},然后就可以用next手动循环

1
2
3
4
5
6
console.log(list.next().value);
console.log('----------------');
console.log(list.next().value);
console.log('################');
console.log(list.next().value);
console.log('----------------');
-------------本文结束感谢您的阅读-------------