《ES6基础教程》之 map、forEach、filter indexOf 用法

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);

 

转载于:https://www.cnblogs.com/lvyongbo/p/4702325.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
arr.indexOf方法用于在数组中查找指定元素,并返回其下标位置。如果找到匹配的元素,则返回元素的下标位置;如果没有找到匹配的元素,则返回-1。这个方法区分大小写,所以对于字符串而言,要确保大小写一致才能正确匹配。 例如,在数组arr中,如果要查找元素'orange',则arr.indexOf('orange')会返回0,表示该元素在数组中的下标位置是0。如果要查找元素'o',则arr.indexOf('o')会返回-1,表示没有找到该元素。同样地,对于数字元素,比如在数组arr中查找元素2016,则arr.indexOf(2016)会返回-1,表示没有找到该元素。 需要注意的是,indexOf方法只返回第一个匹配的元素的下标位置。如果数组中存在多个相同的元素,只会返回第一个匹配的元素的下标位置。 而对于IE8及其以上的浏览器不支持数组的indexOf方法的问题,可以使用其他方法来解决,比如使用polyfill或者使用ES6的语法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Array 的 indexOf方法](https://blog.csdn.net/wdadadadada123/article/details/90702180)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [ES5-数组API:arr.indexOf、arr.every(条件)、arr.some(条件)、arr.forEach()遍历、arr.map()、filter过滤...](https://blog.csdn.net/weixin_42931345/article/details/106080634)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值