Array.concat()
concat()
方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
let array1 = ['a', 'b', 'c'];
let array2 = ['d', 'e', 'f'];
let array3 = array1.concat(array2);
console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]
Array.every()
every()
方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
注意:若收到一个空数组,此方法在一切情况下都会返回 true
。
let isBelowThreshold = (currentValue) => currentValue < 40;
let array1 = [1, 30, 39, 29, 10, 13];
console.log(array1.every(isBelowThreshold));
// expected output: true
Array.filter()
filter()
方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
let words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'];
let result = words.filter(word => word.length > 6);
console.log(result);
// expected output: Array ["exuberant", "destruction", "present"]
Array.find()
find()
方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。
let array1 = [5, 12, 8, 130, 44];
let found = array1.find(element => element > 10);
console.log(found);
// expected output: 12
Array.findIndex()
findIndex()
方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
let re = [2, 4, 6, 9, 7, 8].findIndex(function (item, index) {
return item > 3;
});
console.log(re); // 1 ( 索引值是1 代表数组中的值是4 第一个满足条件的 )
Array.forEach()
forEach()
方法遍历数组。
let arr = ['张飞', '赵云', '张辽', '关羽', '马超', '貂蝉'];
// forEach:遍历数组
arr.forEach( function (item, index, o) {
// 第一个参数:代表数组的每个元素,当前元素
// 第二个参数:代表数组的每隔元素的索引值,当前项的索引值
// 第三个参数:代表当前数组本身
console.log( item, index, o )
} );
// forEach 结合 箭头函数
arr.forEach( item => console.log(item) );
Array.from()
用于转换为真数组,注意:要想把伪数组转成真数组,必须有length属性。
let o = {
0: 'a',
1: 'b',
2: 'c',
3: 'd',
4: 'e',
5: 'f',
6: 'g',
length: 7,
}
let a = Array.from(o);
console.log(a); // ['a', 'b', 'c', 'd', 'e', 'f', 'g']
Array.indexOf()
indexOf()查找在数组中首次出现的索引位置,如果找到就会返回首次出现的位置,找不到就会返回-1。
let arr = ['a', 'b', 'c', 'd', 'a', 'b', 'c'];
let re = arr.indexOf('b');
console.log(re); // 1
Array.lastIndexOf()
lastIndexOf()
方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。
let arr = ['a', 'b', 'c', 'd', 'a', 'b', 'c'];
let re = arr.lastIndexOf('b');
console.log(re); // 5
Array.join()
join()
方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
let elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
Array.map()
map()
方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
let re = [2, 4, 6, 9, 7, 8].map(function (item, index,) {
return item * item;
});
console.log(re); // [4, 16, 36....]
Array.reverse()
reverse()
方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
let arr = [1, 2, 3];
let re = arr.reverse();
console.log(re); // [3, 2, 1]
Array.prototype.sort()
sort()
用于排序
let arr = [23, 123, 6, 9, 7];
// 正序排列:
let res = arr.sort( function (a, b) { return a - b; } );
console.log(res); // [6, 7, 9, 23, 123]
// 倒序排列:
let re = arr.sort( function (a, b) { return b - a; } );
console.log(re); // [123, 23, 9, 7, 6]
Array.isArray()
Array.isArray() 用于确定传递的值是否是一个 Array。
Array.isArray([1, 2, 3]);
// true
Array.isArray({foo: 123});
// false
Array.isArray("foobar");
// false
Array.isArray(undefined);
// false