Js数组遍历对原数组的影响及返回值

简介: Js数组遍历对原数组的影响及返回值

1.map和forEach

let originalArr=[1,2,3,4,5,6,7,8,9,10];
console.log('------------map---------------');
let arrMap= originalArr.map(item=>{
     return item*2;
 })
 console.log('original',originalArr);
 console.log('result',arrMap);
 
 console.log('------------forEach---------------');
let arrForEach=originalArr.forEach(item=>{
     return item*2;
 })
 console.log('original',originalArr);
 console.log('result',arrForEach);

image.png

结果:map和forEach都不改变原数组,map返回一个新数组,forEach没有返回值

2.some和every及filter

let originalArr=[1,2,3,4,5,6,7,8,9,10];
 console.log('------------filter---------------');
let arrFilter= originalArr.filter(item=>{
     return item>2;
 });
 console.log('original',originalArr);
 console.log('result',arrFilter);
 console.log('------------some---------------');
 let arrSome=originalArr.some(item=>{
      return item>2;
 })
 console.log('original',originalArr);
 console.log('result',arrSome);
 console.log('------------every---------------');
 let arrEvery=originalArr.every(item=>{
      return item>2;
})
console.log('original',originalArr);
console.log('result',arrEvery);

image.png

结果:三者都不改变原数组,filter返回满足条件的新数组,some和every返回bool值,some只要y有满足条件的项就返回True,every要全部满足判定条件才会返回true

验证是否可以中断循环

let originalArr=[1,2,3];
 console.log('------------filter---------------');
let arrFilter= originalArr.filter((item,index)=>{
    console.log(item);
     if(index==1){
       return false;
     }
      return true;
 });
 console.log('original',originalArr);
 console.log('result',arrFilter);
 console.log('------------some---------------');
 let arrSome=originalArr.some((item,index)=>{
    console.log(item);
    if(index==1){
        return false;
    }
     return true;
 })
 console.log('original',originalArr);
 console.log('result',arrSome);
 console.log('------------every---------------');
 let arrEvery=originalArr.every((item,index)=>{
     console.log(item);
    if(index==1){
        return false;
    }
    return true;
})
console.log('original',originalArr);
console.log('result',arrEvery);

image.png

经过以上测试得知

1.所有遍历方法都不会影响原数组

2.map和filter会返回一个新的数组

3.forEach没有返回值

4.some和every返回bool值且能提前中断循环

目录
相关文章
|
1月前
|
自然语言处理 前端开发 JavaScript
🛠️ JavaScript数组操作指南:20个精通必备技巧🚀
本文详细介绍了 JavaScript 中的 20 个高效数组操作技巧,涵盖了从基本的添加、移除元素,到数组转换和去重等高级操作。强调了不可变性的重要性,提供了清晰的代码示例,帮助开发者编写更整洁和高效的代码。无论是新手还是经验丰富的开发者,这些技巧都将显著提升您的编码能力,使您在项目中更具竞争力。
25 2
|
1月前
|
JavaScript 前端开发 测试技术
JS都有哪些操作数组的方法
JS都有哪些操作数组的方法
20 3
|
1月前
|
JavaScript
js删除数组中已知下标的元素
js删除数组中已知下标的元素
35 4
|
1月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
31 1
|
1月前
|
JavaScript 前端开发 Java
【javaScript数组,函数】的基础知识点
【javaScript数组,函数】的基础知识点
23 5
|
1月前
|
JavaScript 前端开发 索引
探索JavaScript数组:基础
探索JavaScript数组:基础
17 3
|
1月前
|
JavaScript 前端开发 索引
JS 删除数组元素( 5种方法 )
JS 删除数组元素( 5种方法 )
38 1
|
1月前
|
JavaScript 前端开发
如何在JS中声明一个数组
如何在JS中声明一个数组
18 0
|
1月前
|
存储 JavaScript 前端开发
JavaScript Array(数组) 对象
JavaScript Array(数组) 对象
27 3
|
1月前
|
JavaScript 前端开发 API
JS中数组的方法flat()怎么用
JS中数组的方法flat()怎么用
15 0