1.Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7)创建一个具有单个元素7的数组,而Array(7)创建一个长度为7的空数组;
Array(n)即建立length为n的空数组。
// [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
对象。
)
//["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();
知识兔