Array常用函数收藏

时间:2022-07-19 20:40:21

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];
numbers.lastIndexOf(
2); // 3
numbers.lastIndexOf(7); // -1
11.map

语法: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'];
a.reverse();

console.log(a);
// ['three', 'two', 'one']
14.shift

语法:arr.shift()

说明:从数组中移出第一个元素,并返回该元素

例如:

var a = [1, 2, 3];
var b = a.shift();

console.log(a);
// [2, 3]
console.log(b); // 1
15.slice

语法:

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个元素并插入一个元素
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"]
18.unshift

语法:arr.unshift([element1[, ...[, elementN]]])

说明:增加一个或者若干个元素到数组的开始位置

例如:

var a = [1, 2, 3];
a.unshift(
4, 5);

console.log(a);
// [4, 5, 1, 2, 3]