(1)把数组转换为字符串
toString() //把数组转换为数组值(逗号分隔)的字符串
join('|') //方法也可将所有数组元素结合为一个字符串,还可以规定分隔符
(2)数组的弹出与位移(改变原数组)
push() //方法(在数组结尾处)向数组添加一个新的元素,返回新数组的长度
pop() //方法从数组中删除最后一个元素,返回被删除的值
unshift() //方法(在开头)向数组添加新元素,返回新数组的长度
shift() //方法会删除首个数组元素,返回被“位移出”的字符串
(3)delete fruits[0]; // 删除某一项,把 fruits 中的首个元素改为 undefined
(4) splice() 方法可用于向数组添加新项(改变原数组)
fruits.splice(2, 0, "Lemon", "Kiwi");
//第一个参数(2)定义了应添加新元素的位置(拼接)。
//第二个参数(0)定义应删除多少元素。
//其余参数(“Lemon”,“Kiwi”)定义要添加的新元素。
(5)var myChildren = arr1.concat(arr2, arr3); //拼接多个数组
(6)裁剪数组:(不改变原数组)
var citrus = fruits.slice(1); //方法创建新数组。它不会从源数组中删除任何元素。
(8)数组排序(改变原数组)
fruits.sort(); // 默认地按照字符串顺序对值进行排序。
fruits.sort(function(a, b){return a - b}); // 自定义排序函数,数值从小到大
fruits.reverse(); // 反转元素顺序
(9)Math.max
Math.max.apply 来查找数组中的最高值;
Math.min.apply([1, 2, 3])查找数组中的最低值
Math.max(...[14, 3, 77])使用拓展运算符代替apply
(10)Array.from方法用于将两类对象转为真正的数组
类似数组的对象(array-like object)和 可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。
(11)Array.of()方法用于将一组值,转换为数组。
Array() // []
Array(3) // [, , ,]
Array(3, 11, 8) // [3, 11, 8]
上面代码中,Array()方法没有参数、一个参数、三个参数时,返回的结果都不一样。 只有当参数个数不少于 2 个时,Array()才会返回由参数组成的新数组。 参数只有一个正整数时,实际上是指定数组度
(12)copyWithin() 将指定位置的成员复制到其他位置(会覆盖原有成员),然后返回当前数组
(13)keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。
//for...of循环进行遍历
for (let index of ['a', 'b'].keys()) {
console.log(index);
}
// 0
// 1
for (let elem of ['a', 'b'].values()) {
console.log(elem);
}
// 'a'
// 'b'
for (let [index, elem] of ['a', 'b'].entries()) {
console.log(index, elem);
}
// 0 "a"
// 1 "b"
(14)includes方法返回一个布尔值,表示某个数组是否包含给定的值
[1, 2, 3].includes(2) // true
(15)数组实例的 flat(),flatMap()
[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]] 默认参数1
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]
[1, [2, [3]]].flat(Infinity)
// [1, 2, 3] Infinity表示全部拉平
flatMap()方法对原数组的每个成员执行一个函数 然后对返回值组成的数组执行flat()方法。 该方法返回一个新数组,不改变原数组。
// 相当于 [[2, 4], [3, 6], [4, 8]].flat() [2, 3, 4].flatMap((x) => [x, x * 2]) // [2, 4, 3, 6, 4, 8]
(16)数组迭代方法
Array.forEach()(改变原数组)
Array.map() //对每个数组元素执行函数来创建新数组(不改变原数组)
Array.filter() //过滤一些元素(不改变原数组)
Array.reduce() // 在每个数组元素上运行函数,以生成(减少它)单个值(不改变原数组)
Array.reduceRight()(不改变原数组)
Array.every() //方法检查所有数组值是否通过测试
Array.some() //方法检查某些数组值是否通过了测试
Array.indexOf() //搜索元素值并返回其位置
Array.lastIndexOf() //从数组结尾开始搜索
Array.find() //返回通过测试函数的第一个数组元素的值
Array.findIndex() //方法返回通过测试函数的第一个数组元素的索引