js数组常用方法总结

304 阅读3分钟

1. push() 方法

push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。

 1   var animals = ['pigs', 'goats', 'sheep'];
 2
 3   console.log(animals.push('cows'));
 4   // expected output: 4
 5
 6   console.log(animals);
 7   // expected output: Array ["pigs", "goats", "sheep", "cows"]
 8 
 9   animals.push('chickens');
10
11   console.log(animals);
12   // expected output: Array ["pigs", "goats", "sheep", "cows", "chickens"]

2. sort() 方法

sort() 方法用原地算法对数组的元素进行排序,并返回数组。排序算法现在是稳定的。默认排序顺序是根据字符串Unicode码点。

由于它取决于具体实现,因此无法保证排序的时间和空间复杂性。

1  var months = ['March', 'Jan', 'Feb', 'Dec'];
2  months.sort();
3  console.log(months);
4  // expected output: Array ["Dec", "Feb", "Jan", "March"]
5  
6  var array1 = [1, 30, 4, 21];
7  array1.sort((a, b) => a - b);
8  console.log(array1);
9  // expected output: Array [1, 4, 21, 30]

3. indexOf() 方法

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

 1  var beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
 2
 3  console.log(beasts.indexOf('bison'));
 4  // expected output: 1
 5
 6  // start from index 2
 7  console.log(beasts.indexOf('bison', 2));
 8  // expected output: 4
 9
10  console.log(beasts.indexOf('giraffe'));
11  // expected output: -1

4. includes() 方法

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false代码如下:

 1  var array1 = [1, 2, 3];
 2  
 3  console.log(array1.includes(2));
 4  // expected output: true
 5  
 6  var pets = ['cat', 'dog', 'bat'];
 7  
 8  console.log(pets.includes('cat'));
 9  // expected output: true
10  
11  console.log(pets.includes('at'));
12  // expected output: false

5. isArray()方法

 Array.isArray() 用于确定传递的值是否是一个 Array。

 1  Array.isArray([1, 2, 3]);  
 2  // true
 3  Array.isArray({foo: 123}); 
 4  // false
 5  Array.isArray("foobar");   
 6  // false
 7  Array.isArray(undefined);  
 8  // false
 

6. join方法

  join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。

   1  var elements = ['Fire', 'Wind', 'Rain'];
   2  
   3  console.log(elements.join());
   4  // expected output: Fire,Wind,Rain
   5  
   6  console.log(elements.join(''));
   7  // expected output: FireWindRain
   8  
   9  console.log(elements.join('-'));
  10  // expected output: Fire-Wind-Rain
  

7. pop()方法

  pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度。

   1  var plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];
   2  
   3  console.log(plants.pop());
   4  // expected output: "tomato"
   5  
   6  console.log(plants);
   7  // expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]
   8  
   9  plants.pop();
  10  
  11  console.log(plants);
  12  // expected output: Array ["broccoli", "cauliflower", "cabbage"]
  

8. reverse()方法

  reverse() 方法将数组中元素的位置颠倒。第一个数组元素成为最后一个数组元素,最后一个数组元素成为第一个。

   1  var array1 = ['one', 'two', 'three'];
   2  console.log('array1: ', array1);
   3  // expected output: Array ['one', 'two', 'three']
   4  
   5  var reversed = array1.reverse(); 
   6  console.log('reversed: ', reversed);
   7  // expected output: Array ['three', 'two', 'one']
   8  
   9  /* 它也改变原来的数组 */ 
  10  console.log('array1: ', array1);
  11  // expected output: Array ['three', 'two', 'one']
  

9. shift()方法

   shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。

   1  var array1 = [1, 2, 3];
   2  
   3  var firstElement = array1.shift();
   4  
   5  console.log(array1);
   6  // expected output: Array [2, 3]
   7  
   8  console.log(firstElement);
   9  // expected output: 1
   

10. unshift()方法

unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度。

1  var array1 = [1, 2, 3];
2  
3  console.log(array1.unshift(4, 5));
4  // expected output: 5
5  
6  console.log(array1);
7  // expected output: Array [4, 5, 1, 2, 3]

11. slice()方法

slice() 方法返回一个新的数组对象,这一对象是一个由 开始和 结束(不包括结束)决定的原数组的浅拷贝。原始数组不会被改变。

 1  var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];
 2  
 3  console.log(animals.slice(2));
 4  // expected output: Array ["camel", "duck", "elephant"]
 5  
 6  console.log(animals.slice(2, 4));
 7  // expected output: Array ["camel", "duck"]
 8  
 9  console.log(animals.slice(1, 5));
10  // expected output: Array ["bison", "camel", "duck", "elephant"]

12. splice()方法

splice()方法通过删除现有元素和/或添加新元素来修改数组,并以数组返回原数组中被修改的内容。

 1  var months = ['Jan', 'March', 'April', 'June'];
 2  months.splice(1, 0, 'Feb');
 3  // 插入第一个索引位置
 4  console.log(months);
 5  // expected output: Array ['Jan', 'Feb', 'March', 'April', 'June']
 6  
 7  months.splice(4, 1, 'May');
 8  // 替换第4索引处的1个元素
 9  console.log(months);
10  // expected output: Array ['Jan', 'Feb', 'March', 'April', 'May']
11  

13. tostring()方法

toString() 返回一个字符串,表示指定的数组及其元素。

1  var array1 = [1, 2, 'a', '1a'];
2  
3  console.log(array1.toString());
4  // expected output: "1,2,a,1a"