1.concat()
concat()是将两个或多个数组连接在一起。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。
var arr3 = [1,2,3];
var arr4 = [7,8,9];
var arr5 = arr3.concat(arr4)
console.log(arr5);
// [1, 2, 3, 7, 8, 9]
2.copyWithin()
copyWithin()将数组中的数组元素复制到指定位置或从指定位置复制。也就是说,使用这个方法,会修改当前数组。
// 它接受三个参数:
// target(必需):从该位置开始替换数据。
// start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
// end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。
// 将3号位复制到0号位
[1, 2, 3, 4, 5].copyWithin(0, 3, 4)
// [4, 2, 3, 4, 5]
3.entries()
entries()是返回键/值对数组迭代对象
let info = ['a','b','c'];
info.entries();
/*
[0, "a"]
[1, "b"]
[2, "c"]
*/
4.every()
every()检查数组中每个元素是否通过测试。注意: every() 不会对空数组进行检测。
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr.every((item) => item > 10);
var arr2 = arr.every((item) => item < 10);
console.log(arr1, arr2);
//false true
5.fill()
fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。返回修改后的原始数组,不创建新数组。
// 当传入单个参数的时候,该方法会用该参数的值填充整个数组
var arr1 = new Array(5)
console.log(arr1.fill(1)); //[1,1,1,1,1]
var arr2 = [1, 2, 3, 4]
console.log(arr2.fill(0)); //[0,0,0,0]
// 当传入两个参数的时候,第一个参数为填充的元素,第二个为填充元素的起始位置
var arr3 = [0, 1, 2, 3, 4, 5, 6]
console.log(arr3.fill(1, 3)); //[0,1,2,1,1,1,1]
// 当传入三个参数的时候,第一个参数为填充的元素,第二个参数和第三个参数分别指填充元素的起始和终止位置,不修改终止位置元素
var arr4 = [0, 1, 2, 3, 4, 5]
console.log(arr4.fill(1, 3, 5)); //[0,1,2,1,1,5]
//如果提供的起始位置或结束位置为负数,则他们会被加上数组的长度来算出最终的位置,例如起始位置为-1 就相当于array.length-1
var arr5 = [0, 1, 2, 3, 4, 5]
console.log(arr5.fill(1, -3)); //[0,1,2,1,1,1]
6.filter()
filter()使用数组中通过测试的每个元素创建新数组
var arr = [1, 2, 3, 4, 5, 6];
var arr2 = arr.filter(item => {
return item >3;
})
console.log(arr2)
// [4,5,6]
7.find()
find()返回数组中满足条件的第一个元素,如果没有满足条件的返回undefined。
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
var arr = [1, 2, 3, 4, 5, 6];
var arr2 = arr.find(item => {
return item >3;
})
console.log(arr2)
// 4
8.findIndex()
findIndex()返回数组中满足条件的第一个元素的下标,若没找到返回-1。
var arr = [1, 2, 3, 4, 5, 6];
var arr2 = arr.find(item => {
return item >3;
})
console.log(arr2)
// 3
9.forEach()
forEach()方法,遍历数组。
var arr = [1, 2, 3, 4];
//item 为每一项的元素 index 为下标
arr.forEach((item,index) => {
console.log(item,index)
})
/*1 0
2 1
3 2
4 3*/
10.from()
.from()方法从一个类似数组或可迭代对象中创建一个新的数组实例。
const arr = [1, 2, 3];
Array.from(arr);
//[1, 2, 3]
Array.from('foo');
// ['f', 'o', 'o']
//使用箭头语法和映射函数更改元素的值
var arr = Array.from([1, 2, 3], x => x * 10);
// arr[0] == 10;
// arr[1] == 20;
// arr[2] == 30;
11.includes()
includes()方法返回的是一个布尔值,表示某个数组是否包含给定值。
[1,2,3].includes(1); //true
[1,2;3].includes(4); //false
// 该方法第二个参数表示搜素起始位置,默认为0。如果第二个参数是负数,则表示倒数的位置。
[1,2,3].includes(3,3); //false
[1,2,3].includes(3,-1); //true
12.indexOf()
indexOf()在数组中查找元素,找到返回其下标,若没有找到返回-1.
//array.indexOf(item,start)
//item,必填,查找的元素
//start,选填,查找开始的位置
var arr = [1,2,3];
console.log(arr.indexOf(1)); //0
console.log(arr.indexOf(4)); //-1
13.isArray()
Array.isArray()方法,判断一个对象是否是数组。是返回true,否则返回false。
let a = Array.isArray([]);
let b = Array.isArray([1,2,3,4,5]);
console.log(a,b);
// true true
let a = Array.isArray();
let b = Array.isArray(1);
console.log(a,b);
// false false
14.join()
join()方法连接一个数组中的所有元素转换成字符串,并返回字符串。返回的元素将由指定的分隔符分隔。默认的分隔符是逗号(,)。
var fruits = ["Banana", "Apple", "Mango"];
fruits.join(""); // BananaAppleMango
fruits.join(" "); // Banana Apple Mango
fruits.join(" + "); // Banana + Apple + Mango
15.lastIndexOf()
.lastIndexOf()方法与.indexOf()大同小异,不同的是它是从一个数组的末尾向前查找。同样找到返回其下标,若没有找到返回-1。
var a = ["ab","cd","ef","ab","cd"];
console.log(a.lastIndexOf("cd"));
// 4
console.log(a.lastIndexOf("cd", 2));
// 1---2是起始位置,也就是数组变成["ab","cd","ef"]