Array

1. Array.isArray(value),只支持,ie9+, firefox4+, chrome.

2. Value instanceOf Array, 假定单一的全局执行环境,如果有两个框架,那就存在不同的执行环境,不同的array构造函数不一样。

3. toString() , 会返回“1,2,3,4”.

4. join("=="),会返回"1==2==3==5".

5. Array的栈FILO功能, push(1,2,3)=>[1,2,3]=>pop()=>[1,2]=>push(5)=>[1,2,5].

6. Array的队列功能,push(1,2,3)=>[1,2,3]=>shift()=[2,3].

7. Array的unshift. push(1,2,3)=>unshift()=>(0,1,2,3).

8. Array排序,sort,reverse. / sort(function(value1, value2){ return value1>value2});

9. arr=[]=>arr = Array.concat("value1",["value2","value3"]).

10. Slice不影响原来的数组,slice(start, end)/*start开始位置和end结束位置 之间的数组*/。

11. Splice.会影响原来的数组.

  a. 删除,splice(0,2)/*开始位置,和要删除的个数.*/ [1,2,3]=>splice(1,2)=>[1]

  b.插入. splice(2,0, "red", "green") /*从第二个位置开始,插入red,green,第二个参数是0, 否则会替换*/.[1,2,3]=>splice(1,0,8)=>[1,2,8,3]

  c.替换. splice(1,1, "red", "green") /*从第1个位置开始,插入red,green,比替换掉第一个位置*/.[1,2,3]=>splice(1,1,8)=>[1,8,3]

12. indexOf(a,b),lastIndexOf(a,b)/*a要查找的项,b开始位置. IE9+*/

13.迭代方法:(都不会修改原来的数组IE9+*)

  a.every 数组的每一项都返回ture,则返回true. 否则返回false.

  b.some 数组的其中一项返回true,则返回true.

var numbers=[1,2,3,4,5,4,3,2,1];
var everyResult = numbers.every(function(item,index,array){
    return item >2;    
});
alert(everyResult);//every:false, some:true

  c. filter

var numbers=[1,2,3,4,5,4,3,2,1];
var result = numbers.filter(function(item, index, array){
    return item > 2;
});
alert(result);//3,4,5,4,3

  d.forEach 没有返回值

  [1,2,3]=>array.forEach(function(item, index, array){});

  e.map

var numbers=[1,2,3,4,5];
var result = numbers.map(function(item, index, array){
    return item *2;
});
alert(result);//2,4,6,8,10
原文地址:https://www.cnblogs.com/yk00/p/4743795.html