数组常用方法

1. 字符串转换为数组 

   split();

console.log("aabbcc".split(""));
打印:["a", "a", "b", "b", "c", "c"]

2. 数组转换为字符串

   join();

console.log(['aa','bb','vv'].join(""));
打印:aabbvv

3. 数组中查找元素 

   indexOf();  用来查找元素是否在数组中,如果存在就返回数组的索引,否则就返回-1;

 ["aa",'bb'].indexOf('bb');
返回 "1"

indexOf()函数总是返回第一个与参数相同的元素的索引;

 lastIndexOf()方法,该函数返回相同元素中最后一个元素的索引,如果没有找到,则返回-1

["aa",'bb','cc','aa'].lastIndexOf('aa'); // 3

["aa",'bb','cc','aa'].indexOf('aa'); // 0

4. 数组合并

  concat();

console.log(["aa",'bb'].concat(['cc']));

返回 [“aa”,”bb”,”cc”];

5. 从现有数组里截取一个新数组

  splice(a,b);    该方法的第一个参数是截取的起始索引,第二个参数是截取的长度

["aa","bbb","vvv","ddd","ee"].splice(2,2)
返回  ["vvv", "ddd"]

6.  从已有的数组中返回选定的元素 

slice();

arrs.slice(start,end);

start 必须,规定从何处开始选取,如果是负数,那么规定从数组尾部开始算起的位置,比如:-1是最后一个元素,-2是倒数第二个元素。

end 可选,规定从何处结束选取,该参数是数组片段结束处的数组下标,如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素.

['aa','bb','cc','dd'].slice(1,2);

返回[“bb”];

7. 从数组最后添加元素

  push();

var nums = [1,2,3,4,5];

nums.push(6);

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

8.  向数组的开头添加一个或更多元素, 返回新的长度

unshift();

var arrs = [1,2,3,4,5];

console.log(arrs.unshift("aa","bb")); //7

console.log(arrs); // ["aa", "bb", 1, 2, 3, 4, 5]

9.  删除数组末尾的元素  返回被删的元素

pop();

var arrs = [1,2,3,4,5,6];

console.log(arrs.pop()); // 6

console.log(arrs);// 1,2,3,4,5

10.  删除数组的第一个元素

   shift();    (记住: shift是删除第一个 返回删除的元素,  unshift是添加元素到第一个 返回总长度)

var nums = [9,1,2,3,4,5,6];

console.log(nums.shift()); // 9

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

11.  从数组中间位置添加和删除元素

在数组中间插入元素。

var nums = [1,2,3,7,8,9];

nums.splice(3,0,4,5,6);

console.log(nums);// [1,2,3,4,5,6,7,8,9]
在数组中删除元素。

var nums = [1,2,3,100,200,300,400,4,5];

nums.splice(3,4);

console.log(nums);// 1,2,3,4,5

12.  数组排序

reverse();

将数组中元素的顺序进行翻转

var nums = [1,2,3,4,5];

nums.reverse();

console.log(nums);// 5,4,3,2,1

如果是字符串排序,可以使用 sort();

var arrs = [“Da”,”ade”,”cdf”,’bfg’];

arrs.sort();

console.log(arrs);// ["Da", "ade", "bfg", "cdf"]

如果数组元素是数字类型,就有问题了

var nums = [3,1,2,100,4,200];

nums.sort();

console.log(nums);// [1, 100, 2, 200, 3, 4]

sort()方法是按照字典顺序对元素进行排序的,因此他假定元素都是字符串类型。但是对于数字型的我们可以简单写一个函数即可

function compare(num1,num2) {

    return num1 – num2;

}
var nums = [3,1,2,100,4,200];

num.sort(compare);

console.log(nums);// 1,2,3,4,100,200

还有一些新的元素  

 forEach(),every(),some(),reduce(),reduceRight(),map(),filter().是针对标准浏览器做的

 IE9+,firefox,chrome操作的,IE8及以下不支持的。

forEach()      接受一个函数作为参数,对数组的每个元素使用该函数

function square(num) {

console.log(num*num);

}

var nums = [1,2,3,4,5,6,7,8,9,10];

console.log(nums.forEach(square));

// 1,4,9,16,25,36,49,64,81,100

every()      接受一个返回值为布尔类型的函数,对数组中每个元素使用该函数,如果返回所有的为true,则true,否则返回false

....不再介绍

  

 摘自网络

原文地址:https://www.cnblogs.com/fanxiaowu/p/4462831.html