ES5的数组方法

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

Array.prototype.forEach()

[1, 2, 3, 4, 5].forEach(function(item, index, array) {  
    console.log('the current index is: ' + index + ', value is: ' + item);  
});  

Array.prototype.filter()

过滤所有偶数,返回true,则该元素会被保留下来

var oddArr = [1, 2, 3, 4, 5].filter(function(item) {  
    return item % 2 !== 0;  
});

 配合indexOf实现数组去重:

var arr = [1,1,2,3,5,5,2,9,0,0].filter((item,index,arr)=>{
    return arr.indexOf(item) === index;
});

ES6 使用Set实现数组去重:

var arr = [...new Set([1,1,2,3,5,5,2,9,0,0])];

Array.prototype.map()

var doubleArr = [1, 2, 3, 4, 5].map(function(item) {  
    return item * 2;  
});

Array.prototype.some()

只要存在大于3的元素,则some返回true

var someoneGreaterThan3 = [1, 2, 3, 4, 5].some(function(item) {  
    return item > 3;  
}); 

与some对应的还有一个every方法,这个方法要求所有元素都满足条件,也就是闭包中都返回true时,every才会返回true

 

这里补充一个:

  Array.slice():通过参数指定索引范围,返回新的数组。数组内元素的复制形式为浅复制,常用于拷贝数组。

  Array.splice():会改变源数组内容(插入或删除元素),返回被删除的内容

posted @ 2017-11-29 14:58  HelloHello233  阅读(445)  评论(0编辑  收藏  举报