Javascript数组常用方法

36 阅读2分钟

push():  

将一个或多个元素添加到数组的末尾,并返回数组的新长度。

let fruits = ['apple', 'banana'];
fruits.push('cherry'); 
// ['apple', 'banana', 'cherry']

pop():

从数组中删除最后一个元素并返回该元素。

let fruits = ['apple', 'banana', 'cherry'];
let last = fruits.pop(); 
// 'cherry', now fruits = ['apple', 'banana']

shift():

从数组中删除第一个元素并返回该元素。

let fruits = ['apple', 'banana', 'cherry'];
let first = fruits.shift(); 
// 'apple', now fruits = ['banana', 'cherry']

unshift():  

将一个或多个元素添加到数组的开头,并返回数组的新长度。

let fruits = ['banana', 'cherry'];
fruits.unshift('apple'); 
// ['apple', 'banana', 'cherry']

indexOf():

返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回-1。

let fruits = ['apple', 'banana', 'cherry'];
let index = fruits.indexOf('banana'); 
// 1

includes():  

确定数组是否包含某个元素,并根据情况返回true或false。

let fruits = ['apple', 'banana', 'cherry'];
let hasApple = fruits.includes('apple'); 
// true

slice():  

将数组的一部分拷贝到新的数组对象中。

let fruits = ['apple', 'banana', 'cherry'];
let someFruits = fruits.slice(0, 2); 
// ['apple', 'banana']

reverse():  

反转数组。第一个数组元素变成最后一个,最后一个数组元素成为第一个。

let fruits = ['apple', 'banana', 'cherry'];
fruits.reverse(); 
// ['cherry', 'banana', 'apple']

concat():  

合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

let fruits = ['apple', 'banana'];
let moreFruits = ['cherry', 'date'];
let allFruits = fruits.concat(moreFruits); 
// ['apple', 'banana', 'cherry', 'date']

join():  

将数组的所有元素连接到一个字符串中并返回此字符串。

let fruits = ['apple', 'banana', 'cherry'];
let result = fruits.join(', '); 
// 'apple, banana, cherry'

lastIndexOf():  

返回在数组中可以找到给定元素的最后一个索引,如果不存在,则返回-1。

let numbers = [1, 2, 3, 2, 1];
numbers.lastIndexOf(2); 
// 3

forEach():  

为每个数组元素执行一次提供的函数。

let fruits = ['apple', 'banana', 'cherry'];
fruits.forEach(fruit => console.log(fruit));
// 'apple'
// 'banana'
// 'cherry'

map():  

创建一个新数组,其中包含对调用数组中的每个元素调用所提供函数的结果。

let numbers = [1, 4, 9];
let roots = numbers.map(Math.sqrt); 
// [1, 2, 3]

filter():  

使用通过所提供函数实现的测试的所有元素创建一个新数组。

let numbers = [1, 4, 9];
let bigNumbers = numbers.filter(number => number > 5); 
// [9]

reduce():  

对数组中的每个元素(从左到右)执行一个函数。

let numbers = [1, 2, 3, 4];
let sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, 0); 
// 10

some():  

测试数组中是否至少有一个元素通过了由所提供的函数实现的测试。返回布尔值。

let numbers = [1, 2, 3, 4];
let hasNegativeNumbers = numbers.some(number => number < 0); 
// false

every():  

测试数组中的所有元素是否都通过了所提供函数实现的测试。返回布尔值。

let numbers = [1, 2, 3, 4];
let allPositiveNumbers = numbers.every(number => number > 0); 
// true

find():  

返回数组中满足所提供测试函数的第一个元素的值。否则将返回未定义的。

let numbers = [1, 5, 10, 15];
let found = numbers.find(function(element) {
  return element > 9;
}); 
// 10

toString():  

返回表示指定数组及其元素的字符串。

let fruits = ['apple', 'banana', 'cherry'];
let result = fruits.toString(); 
// 'apple,banana,cherry'