ES6学习总结ES6中新增的数组知识

3次阅读

共计 1509 个字符,预计需要花费 4 分钟才能阅读完成。

Array.from(xxx)方法

let  json = {
    '0': 'aaa',
    '1': 'bbb',
    '2': 'ccc',
    length:3
}
let  json2 = {
    'name': 'aaa',
    'name1': 'bbb',
    'name2': 'ccc',
    length:3
}
console.log(Array.from(json));
console.log(Array.from(json2));
结果:["aaa", "bbb", "ccc"]
[undefined, undefined, undefined]

这就是一个标准的 JSON 数组格式,跟普通的 JSON 对比是在最后多了一个 length 属性。只要是这种特殊的 json 格式都可以轻松使用 ES6 的语法转变成数组。在 ES6 中绝大部分的 Array 操作都存在于 Array 对象里。我们就用 Array.from(xxx)来进行转换。

注意:
使用 Array.from(xxx)来进行转换的时候必须注意到 json 的格式必须是数组格式的【如上面的 json】, 但是类似上面 json2 的格式就不行了

Array.of()方法

它负责把一堆文本或者变量转换成数组。在开发中我们经常拿到了一个类似数组的字符串,需要使用 eval 来进行转换,如果你一个老手程序员都知道 eval 的效率是很低的,它会拖慢我们的程序。这时候我们就可以使用 Array.of 方法。我们看下边的代码把一堆数字或者字符串转换成数组并打印在控制台上:

let arr =Array.of(3,4,5,6);
console.log(arr);
let arr2 =Array.of('aaa','vvv','fff');
console.log(arr2);

结果:

[3, 4, 5, 6]
['aaa', 'vvv', 'fff']

find()实例方法

所谓的实例方法就是并不是以 Array 对象开始的,而是必须有一个已经存在的数组,然后使用的方法,这就是实例方法。这里的 find 方法是从数组中查找。在 find 方法中我们需要传入一个匿名函数,函数需要传入三个参数:

  • value:表示当前查找的值。
  • index:表示当前查找的数组索引。
  • arr:表示当前数组。

函数中如果找到符合条件的数组元素就进行 return,并停止查找。你可以拷贝下边的代码进行测试,就会知道 find 作用。

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

结果:6
undefined
1

控制台输出了 6,说明找到了符合条件的值,并进行返回了,如果找不到会显示 undefined。

fill()实例方法

fill()也是一个实例方法,它的作用是把 数组进行填充,它接收三个参数,第一个参数是填充的变量,第二个是开始填充的位置【被变量占用】,第三个是填充到的位置【不会被变量占用,依旧显示】

let arr=[0,1,2,3,4,5,6,7,8,9];
arr.fill('aaa',2,5);
console.log(arr);

结果:[0, 1, "aaa", "aaa", "aaa", 5, 6, 7, 8, 9]

数组的遍历

for…of 循环

let arr=['aaa','bbb','ccc']

for (let item of arr){console.log(item);
}

结果:aaa
 bbb
 ccc

正文完
 0