数组方法

Javascript数组经常使用方法汇总!javascript

1.join()

做用:将数组中的全部元素转换为字符串java

var arr1 = ['green', 'blue', 'pink'];
arr1.join();     // green,blue,pink
arr1.join('-');  // green-blue-pink
arr1.join('&');  // green&blue&pink
复制代码

2.reverse()

做用:颠倒数组数组

特色:ui

  • 改变原来的数组,返回一个新数组
var arr = ['pink', 'red', 'blue'];
 arr.reverse();
 console.log(arr);  // ['blue', 'red', 'pink']
复制代码

3.sort()

做用:数组排序spa

特色:code

  • 改变原来的数组,返回一个新数组
var arr = [2, 6, 9, 5, 8, 7];
arr.sort();
console.log(arr);  // [2, 5, 6, 7, 8, 9]
复制代码
// 数组排序(冒泡排序)
var arr1 = [13, 4, 77, 1, 7];
arr1.sort(function(a, b) {
     // return a - b; 升序的顺序排列
     return b - a; // 降序的顺序排列
});
console.log(arr1); // [1, 4, 7, 13, 77]
复制代码

注意:若是数组包含undefined元素,它们会被排到数组的尾部排序

4.concat()

做用:数组添加元素索引

特色:ip

  • 原数组不会发生改变,返回一个新数组
var arr = [2, 6, 9];
arr.concat(3,1);     // [2, 6, 9, 3, 1]
arr;                // [2, 6, 9]
复制代码

5.slice()

做用:返回指定数组的一个片断或子数组字符串

参数说明:

  • 若只有一个参数X,则从X开始到结尾全部数组元素
  • 如有两个参数X,Y,则从X位置开始到Y位置结束
  • 若参数出现负数,好比:-1表示最后一个,以此类推

特色:

  • 该方法不会改变原始数组,返回一个新数组
var a=[1, 2, 3, 4, 5];
a.slice(0,3);   // [1, 2, 3]
a.slice(3);     // [4, 5]
a.slice(1,-1);  // [2, 3, 4]
a.slice(-3,-2); // [3]
复制代码

6.splice()

做用:删除数组中的元素

参数说明:

  • 若只有一个参数X,则表示删除从X位置开始到结尾全部元素
  • 如有两个参数X,Y,则表示删除从X位置开始计数,要删除的个数Y的元素
  • 若出现第三个或者三个以上的参数,则表示要插入数组中的元素,从第一个参数指定的位置开始插入

==特别注意==:

  • 该方法返回值是删除元素造成的数组
  • 原始数组会发生改变
// 一个参数
var arr =[1, 2, 3, 4, 5, 6, 7, 8];
console.log(arr.splice(3));     // [4, 5, 6, 7, 8]
console.log(arr);       // [1, 2, 3]
复制代码
// 两个参数
var arr =[1, 2, 3, 4, 5, 6, 7, 8];
console.log(arr.splice(2,5));   // [3, 4, 5, 6, 7]
console.log(arr);          // [1, 2, 8]
复制代码
// 多个参数
var arr =[1, 2, 3, 4, 5, 6, 7, 8];
console.log(arr.splice(3, 2,'a', 'b'));     // [4, 5]
console.log(arr);           // [1, 2, 3, "a", "b", 6, 7, 8]
复制代码

7.push()和pop()

做用:push()在数组末尾添加一个元素或多个元素,pop()删除数组最后一个元素

注意:

  • push()返回值是数组新的长度,原数组会发生改变
  • pop()返回值是删除的那个元素,原数组会发生改变
// push()
var arr = [6, 7, 8, 9];
console.log(arr.push(2));   // 5
console.log(arr);           // [6, 7, 8, 9, 2]
复制代码
// pop()
var arr = [6, 7, 8, 9];
console.log(arr.pop());   // 9
console.log(arr);         // [6, 7, 8,]
复制代码

8.unshift()和shift()

做用:unshift()在数组头部添加一个元素或多个元素,shift()删除数组第一个元素

注意:

  • unshift()返回值是数组新的长度,原数组会发生改变
  • shift()返回值是删除的那个元素,原数组会发生改变
// unshift()
var arr = [5, 6, 7, 8];
console.log(arr.unshift(3));   // 5
console.log(arr);              // [3, 5, 6, 7, 8,]
复制代码
// shift()
var arr = [5, 6, 7, 8];
console.log(arr.shift());      // 5
console.log(arr);              // [6, 7, 8,]
复制代码

9.indexOf()

做用:从头到尾查找数组中的元素

返回值:返回找到的第一个元素的索引,若没有找到就返回-1

var arr = ['a', 'd', 'f', 'e'];
console.log(arr.indexOf('f'));  // 2
console.log(arr.indexOf('h'));  // -1
复制代码
相关文章
相关标签/搜索