遍历的几种方法;

//    <!--循环的几种用法-->
//    1. 普通的循环
let arr = ['apple','banane','pear','tomato'];
   for (let i=0;i<arr.length;i++){
        console.log(arr[i]);
   };
//    2.代替for;
arr.forEach(function (val,index,arr) {
 console.log(index);
    console.log(val);
    console.log(arr);
 });
/*3.    arr.map() 映射 数据交互;正常情况下需要配合return 返回的是一个新的数组;
      如果没有return时,map的功能相当于forEach;
      平时用map时一定要有return返回值
*/
 let data =[
             {name:"小明",age:18,sex:'男'},
             {name:"小智",age:17,sex:'男'},
             {name:"小会",age:16,sex:'女'},
             {name:"小兰",age:19,sex:'女'},
         ];

         data.map((val,index,arr)=>{
             console.log(index);
             console.log(val);
             console.log(arr);
         });

         let newdata = data.map((val,index,arr)=>{
                let json = {};
                json.n = val.name;
                json.i = val.age+10;
                json.s = val.sex;
                return json;
        });
         console.log(newdata);
//    4. arr.filter() 过滤,需要有条件的,过滤一些不合格的不想要的元素;如果回调函数返回值是true,就留下来;
 let newdata01 = data.filter((val,index,arr)=>{
            return val.sex=='男';
         });
console.log(newdata01);
//    5. arr.some() 类似查找;如果有这个元素则返回true;
let arr1=arr.some((val,index,arr)=>{
          return val=='apple';
      });
      console.log(arr1);

      let findInArray=(item,arr)=>{
          return arr.some((val,index,arr)=>function () {
                return val==item;
          });
       }
      alert(findInArray('apple',arr));
//    6. arr.every() 数组里面的所有的元素都符合条件才返回ture;



//    7. arr.reduce(); 从左向右;
 let arr02 = [1,2,3,4,5,6,7,8,9,10];
           let b = arr02.reduce((prev,cur,index,arr)=>{
            return prev+cur;
        });
        console.log(b);

// 8. arr.reduceRight();从右向左

// 9.for ….of 循环

let arr03 =['apple','banane','pear','tomato'];
        for(let val of arr03){
           console.log(val);
        }
        for(let index of arr03.keys()){
            console.log(index);
        }
        for(let item of arr03.entries()){
            console.log(item);
        }
        for(let item of arr03.entries()){
            console.log(item[0]);
            console.log(item[1]);
        }
        for(let [key,val] of arr03.entries()){
            console.log(key);
            console.log(val);
        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript中遍历数组有多种方法。其中常用的方法包括forEach、map、for循环、for of、for in、filter和find。 1. 使用forEach方法进行遍历。forEach方法接受一个回调函数作为参数,该函数遍历数组的每个元素时被调用。可以使用item参数来访问当前遍历到的元素,使用index参数来访问元素的索引,使用self参数来访问数组本身。例如: arr.forEach(function(item, index, self) { console.log(item); }); 这段代码会打印出数组arr中的每个元素。 2. 使用map方法进行遍历和映射。map方法也接受一个回调函数作为参数,该函数遍历数组的每个元素时被调用,并返回一个新的数组。可以使用item参数来访问当前遍历到的元素。例如: let newArr = arr.map(item => { return item * 2; }); 这段代码会将数组arr中每个元素都乘以2,并将结果保存在新数组newArr中。 3. 使用for循环进行遍历。可以使用临时变量将数组的长度缓存起来,以避免重复获取数组长度。例如: for (var i = 0; i < arr.length; i++) { console.log(arr[i]); } 这段代码会按顺序遍历数组arr中的每个元素,并打印出来。 4. 使用for of循环进行遍历。for of循环可以直接遍历数组中的每个元素。例如: for (var item of arr) { console.log(item); } 这段代码会按顺序遍历数组arr中的每个元素,并打印出来。 5. 使用for in循环进行遍历。for in循环遍历的是数组的索引,而不是数组的值。例如: for (var index in arr) { console.log(arr[index]); } 这段代码会按顺序遍历数组arr中的每个元素,并打印出来。 6. 使用filter方法进行遍历和筛选。filter方法也接受一个回调函数作为参数,该函数遍历数组的每个元素时被调用,并返回一个满足某个条件的新数组。例如: let newArr = arr.filter(item => { return item < 3; }); 这段代码会返回一个新数组newArr,其中包含数组arr中小于3的元素。 7. 使用find方法进行遍历。find方法也接受一个回调函数作为参数,该函数遍历数组的每个元素时被调用,直到找到满足某个条件的元素为止。例如: let result = arr.find(item => { return item === 3; }); 这段代码会返回数组arr中第一个等于3的元素。 以上是JavaScript中常用的几种遍历数组的方法。根据实际需求选择合适的方法来进行遍历。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JS遍历数组的十五种方法](https://blog.csdn.net/weixin_39987434/article/details/130869691)[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_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值