ES6-数组的新方法
1.Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7)创建一个具有单个元素7的数组,而Array(7)创建一个长度为7的空数组;
Array(n)即建立length为n的空数组。
Array.of(7); // [7] Array.of(1, 2, 3); // [1, 2, 3] Array(7); // [empty × 7] Array(1, 2, 3); //[1, 2, 3]
2.Array.from()方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。
语法:Array.from(arrayLike[, mapFn[, thisArg]])
arrayLike
想要转换成数组的伪数组对象或可迭代对象。
mapFn (可选参数)
如果指定了该参数,新数组中的每个元素会执行该回调函数。
thisArg (可选参数)
可选参数,执行回调函数 mapFn
时 this
对象。
Array.from('foo') //["f", "o", "o"]; Array.from([1, 2, 3], x => x + x) //[2, 4, 6]
3. Array.prototype.copyWithin() 实验性API;在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。
4.find
5.findIndex
6.map
7.reduce
8.filter
9.forEach
10.Array.prototype.fill() 将数组中指定区间的所有元素的值,都替换成某个固定的值。
11.some
数组方法中已经总结,可以翻看上上个 笔记哦
下面做一道简单的题目巩固一下~ ~
var arr = [ { id: 1, value: 'a' }, { id: 2, value: 'b' }, { id: 3, value: 'c' }, { id: 4, value: 'd' }, { id: 5, value: 'e' }, { id: 6, value: 'e' }, { id: 7, value: 'f' }, ] // 1: 删除value为e的 arr = arr.filter(d => d.value !== 'e'); // 2: 删除第一个value为e的 let index = arr.findIndex(d => d.value === 'e'); arr.splice(index, 1) // 3: 删除最后一个value为e的 let index = arr.reverse().findIndex(d => d.value === 'e'); arr.splice(index, 1); arr.reverse(); // 4: 找出所有value为e的 let newArr = arr.filter(d => d.value === 'e'); // 5: 找出第一个value为e的 let newArr = arr.find(d => d.value === 'e'); // 6: 找出最后一个value为e的 let newArr = arr.reverse().find(d => d.value === 'e').reverse();