一、数组API
1.静态方法
- Array.of(…args): 使用指定的数组项创建一个新数组
- Array.from(arg): 通过给定的类数组 或 可迭代对象 创建一个新的数组。
const arr = Array.of(5);//值为5,length为1
const arr1 = new Array(10);//length为10的空数组
console.log(arr);
console.log(arr1);
const arr2 = {
'0': 1,
'1': 2,
'2': 3,
'length': 3,
'push': Array.prototype.push,
'splice': Array.prototype.splice
};
console.log(arr2);
const result = Array.from(arr2);
console.log(result);
2.实例方法
- find(callback): 用于查找满足条件的第一个元素
- findIndex(callback):用于查找满足条件的第一个元素的下标
- fill(data):用指定的数据填充满数组所有的内容
- copyWithin(target, start?, end?): 在数组内部完成复制
- includes(data):判断数组中是否包含某个值,使用Object.is匹配
const arr = [{
name: "d",
id: 4
},
{
name: "e",
id: 5
}]
//找到id为5的对象
const result = arr.find(item => item.id === 5);
const resultIndex = arr.findIndex(item => item.id === 5);
console.log(result, resultIndex);
// 创建了一个长度为10的数组,数组的每一项是"abc"
const arr = new Array(10);
arr.fill("abc");
console.log(arr);
const arr = [1, 2, 3, 4, 5, 6];
//从下标2开始,改变数组的数据,数据来自于下标0位置开始
arr.copyWithin(2); // [1, 2, 1, 2, 3, 4]
// arr.copyWithin(2, 1); // [1, 2, 2, 3, 4, 5]
// arr.copyWithin(2, 1, 3); // [1, 2, 2, 3, 5, 6]
console.log(arr);
const arr = [45, 21, 356, 66 , 6, NaN, 723, 54,+0];
console.log(arr.indexOf(66) >= 0)
console.log(arr.includes(NaN));
console.log(arr.includes(-0));