1.Array.isArray() 用于确定传递的值是否是一个 Array。
let res = Array.isArray("hello");
console.log(res); // false
console.log(Array.isArray(["1", 2])); // true
2.Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
// 只有其中传递的是一个字符串才可以实现转换
let res = Array.from("hello");
console.log(res); // [ 'h', 'e', 'l', 'l', 'o' ]// 对象 数值 布尔值 转换成都为[]
let res = Array.from({ name: "zhangsan" });
console.log(res); // []// 如果传递的是null 或者 undefined 则会报错Cannot convert undefined or null to object// 传值是数组,结果仍为数组
3.Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
就是将你传递的值转换成一个新数组;
let res = Array.of(['1', 2222]);
console.log(res); // [ [ '1', 2222 ] ]let res = Array.of(undefined);
console.log(res); // [ undefined ]let res = Array.of(1);
console.log(res); // [ 1 ]
注意:Array.of()和Array的区别:
Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个长度为7的空数组(注意:这是指一个有7个空位(empty)的数组,而不是由7个undefined组成的数组)。
Array.of(7); // [7]
Array.of(1, 2, 3); // [1, 2, 3]Array(7); // [ , , , , , , ]
Array(1, 2, 3); // [1, 2, 3]
4.数组的增删改查:
增:返回值为新添加数组的索引Array.prototype.push(); // 从尾部添加Array.prototype.unshift() // 从头部添加删:返回值为删除的那一项数组Array.prototype.pop(); // 从尾部删除Array.prototype.shift(); // 从头部删除
5.获取数组的索引,查询索引的方法。
6.数组的迭代器,获取数组的下标,获取数组的值
Array.prototype.keys() 返回一个包含数组中每个索引键
Array.prototype.values() 数组每个索引的值
Array.prototype.entries() entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。
7.数组的排序。
// sort() 方法用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的arr.sort([compareFunction])// 从小到大排序
// 从大到小排序
// 随机排序let arr = [2, 32, 12, 23];
arr.sort((a, b) => {return a - b
})
console.log(arr); // [ 2, 12, 23, 32 ]arr.sort((a, b) => {return b - a
})
console.log(arr); // [ 32, 23, 12, 2 ]arr.sort(() => {return Math.random() - 0.5
})
console.log(arr);
8.一个方法Array.prototype.splice()实现数组的增删改
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
// 起始的位置
// 删除的个数
// 添加的数据