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