1.isArray
语法:Array.isArray(obj)
说明:判断一个对象是否是数组。
例如:
Array.isArray([]);
Array.isArray([1]);
Array.isArray(new Array());
// Little known fact: Array.prototype itself is an array:
Array.isArray(Array.prototype);
// all following calls return false
Array.isArray();
2.
concat
语法:var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
说明:把多个数组串联成一个新数组
例如:
var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];
alpha.concat(numeric);
// result in ['a', 'b', 'c', 1, 2, 3]
3.every
语法:arr.every(callback[, thisArg])
说明:测试是否数组中所有的元素都满足测试条件
例如:
function isBigEnough(element, index, array) {
return element >= 10;
}
[12, 5, 8, 130, 44].every(isBigEnough); // false
[12, 54, 18, 130, 44].every(isBigEnough); // true
4.filter
语法:var newArray = arr.filter(callback[, thisArg])
说明:过滤满足条件的元素
例如:
function isBigEnough(value) {
return value >= 10;
}
var filtered = [12, 5, 8, 130, 44].filter(isBigEnough);
// filtered is [12, 130, 44]
5.find
语法:arr.find(callback[, thisArg])
说明:查找数组中满足条件的第一个元素
例如:
function isBigEnough(element) {
return element >= 15;
}
[12, 5, 8, 130, 44].find(isBigEnough); // 130
6.findIndex
语法:arr.findIndex(callback[, thisArg])
说明:查找满足条件的第一个元素的索引
例如:
function isBigEnough(element) {
return element >= 15;
}
[12, 5, 8, 130, 44].findIndex(isBigEnough); // 3rd element in the Array is returned, it will result in '130'
7.includes
语法:
arr.includes(searchElement)arr.includes(searchElement, fromIndex)
说明:判断数组是否包含指定的元素,第二个参数表示从哪个索引开始查询
例如:
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
8.indexOf
语法:
arr.indexOf(searchElement)
arr.indexOf(searchElement, fromIndex)
说明:查询元素在数组中的索引位置,如果不在数组中,返回-1
例如:
var array = [2, 9, 9];
array.indexOf(2); // 0
array.indexOf(7); // -1
array.indexOf(9, 2); // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
9.join
语法:
arr.join()arr.join(separator)
说明:把数组通过自定的连接符串联成一个字符串,separator默认为“,”
例如:
var a = ['Wind', 'Rain', 'Fire'];
a.join(); // 'Wind,Rain,Fire'
a.join('-'); // 'Wind-Rain-Fire'
10.lastIndexOf
语法:
arr.lastIndexOf(searchElement)
arr.lastIndexOf(searchElement, fromIndex)
说明:返回能在数组中查到元素的最后的一个索引,查询不到返回-1
例如:
var numbers = [2, 5, 9, 2];11.map
numbers.lastIndexOf(2); // 3
numbers.lastIndexOf(7); // -1
语法:var new_array = arr.map(callback[, thisArg])
说明:根据提供函数的公式返回一个新数组
例如:
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
// roots is now [1, 2, 3]
// numbers is still [1, 4, 9]
12.pop
语法:arr.pop()
说明:从数组中移出最后一个元素,并返回该元素
例如:
var a = [1, 2, 3];
a.pop();
console.log(a); // [1, 2]
13.reverse
语法:a.reverse()
说明:将数组倒序排列
例如:
var a = ['one', 'two', 'three'];14.shift
a.reverse();
console.log(a); // ['three', 'two', 'one']
语法:arr.shift()
说明:从数组中移出第一个元素,并返回该元素
例如:
var a = [1, 2, 3];15.slice
var b = a.shift();
console.log(a); // [2, 3]
console.log(b); // 1
语法:
arr.slice()
arr.slice(begin)
arr.slice(begin, end)
说明:从数组指定的位置深拷贝数组并返回新数组,end表示拷贝结束的索引位置,但不包含end数字
例如:
var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);
// fruits contains ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']
// citrus contains ['Orange','Lemon']
16.sort
语法:
arr.sort()
arr.sort(compareFunction)
说明:按指定的函数规则排序,默认是按照字符串的unicode编码排序。如果a小于b,a在b之前,如果a大于b则a在b之后,如果a等于b则a在b之前并且相邻。
function compare(a, b) {
if (a is less than b by some ordering criterion) {
return -1;
}
if (a is greater than b by the ordering criterion) {
return 1;
}
// a must be equal to b
return 0;
}
例如:
var numbers = [4, 2, 5, 1, 3];
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers);
// [1, 2, 3, 4, 5]
17.splice
语法:
array.splice(start)
array.splice(start, deleteCount)
array.splice(start, deleteCount, item1, item2, ...)
说明:通过移除或者增加一些元素而改变数组。start表示改变数组的起始索引,deleteCount表示移除元素的个数,item1...itemn表示在start之后新增的元素
例如:
//从索引2移除0个元素并插入一个元素18.unshift
ar myFish = ['angel', 'clown', 'mandarin', 'sturgeon'];
var removed = myFish.splice(2, 0, 'drum');
// myFish is ["angel", "clown", "drum", "mandarin", "sturgeon"]
// removed is [], no elements removed
//从所以2移除1个元素
var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myFish.splice(3, 1);
// removed is ["mandarin"]
// myFish is ["angel", "clown", "drum", "sturgeon"]
语法:arr.unshift([element1[, ...[, elementN]]])
说明:增加一个或者若干个元素到数组的开始位置
例如:
var a = [1, 2, 3];
a.unshift(4, 5);
console.log(a); // [4, 5, 1, 2, 3]