JS map forEach filter indexOf 用法

来源:互联网 发布:linux 无故宕机 编辑:程序博客网 时间:2024/05/18 16:37

1,map,对数组的每个元素进行一定操作,返回一个新的数组。

复制代码
1    var oldArr = [{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"},{first_name:"Yehuda",last_name:"Katz"}];2     function getNewArr () {3         return oldArr.map(function(item,index){4             item.full_name= [item.first_name,item.last_name].join(" ");5             return item;6         });7     }8     console.log(getNewArr());
复制代码

2,forEach 为每个元素执行对应的方法。

复制代码
1 var arr=[1,2,3,4,5,6,7,8];2     for ( var i =0,l= arr.length;i<l;i++) {3         console.log(arr[i]);4     };5     arr.forEach(function(item,index){6         console.log(item);7     });
复制代码

3,filter 匹配过滤条件的数组。

复制代码
 1     var arr = [ 2               {"name":"apple", "count": 2}, 3               {"name":"orange", "count": 5}, 4               {"name":"pear", "count": 3}, 5               {"name":"orange", "count": 16}, 6             ]; 7         var newArr=[]; 8         for(var i=0,l=arr.length;i<l;i++){ 9             if(arr[i].name==="orange"){10                 newArr.push(arr[i]); 11             }12         }13         var newArr=arr.filter(function(){14             return item.name==="orange";15         });16         console.log("Filer results",newArr);
复制代码

4,indexOf方法返回数组中的找到的第一个元素的位置,若不存在返回-1。

1   var arr = ['apple','orange','pear'];2     console.log("found:", arr.indexOf("orange") != -1);
0 0