当前位置: 首页 > news >正文

建站公司排名 软通搭建公司网站教程

建站公司排名 软通,搭建公司网站教程,石家庄房地产信息网官网,个人博客网站开发1.提出思考#xff1f;forEach不会改变原数组#xff0c;而map会改变数组#xff1f; 看到掘金上一篇文章觉得很有意思#xff1a;大致是描述一般面试官问js中forEach和map的区别#xff1f;都会回答forEach不会改变原数组#xff0c;而map会改变#xff0c;我也一直对…1.提出思考forEach不会改变原数组而map会改变数组 看到掘金上一篇文章觉得很有意思大致是描述一般面试官问js中forEach和map的区别都会回答forEach不会改变原数组而map会改变我也一直对百度来的答案当作参考答案。事实证明这个答案是错的 面试问js的forEach和map的区别 - 掘金 2.forEach()没有返回值如果使用return会返回undefinedmap会返回新数组 3.数组中数据为基本数据类型时forEach和map都不会改变原数组 // 1、数组为基本数据类型时forEach和map都不会改变原数组使用return 返回时forEach返回undefined,map返回一个处理后的新数组let arr [1, 2, 3, 4, 5];let arrforEach arr.forEach((item) {return item * 2;});console.log(arr);//[1, 2, 3, 4, 5]console.log(arrforEach);//undefinedlet arr1 [1, 2, 3, 4, 5];let arrMap arr1.map(item {return item * 2;});console.log(arr1);// [1, 2, 3, 4, 5]console.log(arrMap);// [2, 4, 6, 8, 10] 4.数据为引用数据类型时map和forEach都会改变原数组 在使用 forEach 和 map 方法时对引用类型元素的修改会直接反映在原始数组中。这是因为引用类型的元素实际上存储的是引用内存地址而非值本身。因此通过引用可以访问和修改原始数组中的元素。而number,string,Boolean,null,undefined它们在栈内存中直接存储变量与值 // 2、数组为引用数据类型时,forEach和map都会改变原数组上的对象使用return时forEach返回undefinedmap返回处理后的数据未返回的元素返回undefined// 这是因为在使用 forEach 和 map 方法时对引用类型元素的修改会直接反映在原始数组中。这是因为引用类型的元素实际上存储的是引用内存地址而非值本身。因此通过引用可以访问和修改原始数组中的元素。// 而number,string,Boolean,null,undefined它们在栈内存中直接存储变量与值let arrObj1 [{username: lmf,age: 20},{username: yl,age: 30}];let arrObj1ForEach arrObj1.forEach(item {if (item.username lmf) return item.age 100;});console.log(arrObj1);//{username: lmf, age: 100} , {username: yl, age: 30}console.log(arrObj1ForEach);//undefinedlet arrObj2 [{username: lmf,age: 50},{username: yl,age: 60}];let arrObj2Map arrObj2.map(item {if (item.username lmf) return item.age 200;});console.log(arrObj2);//{username: lmf, age: 200} , {username: yl, age: 60}console.log(arrObj2Map);// [200, undefined] 5.map和forEach循环体内return时影响 return本身就是表示跳出本次循环进入下次循环。博主说的观点“foreach可以跳出本次循环return 语句可以在当前回调函数中返回而map不能只能遍历完整个数组。”这句话有歧义。 如下例 其实无论是forEach还是map在return以后本次循环体中return后的语句都不会执行。sum1和sum2都打印12区别还是在于return后map返回新数组的值由return的值决定而forEach永远只会返回undefined。 如果有return且直接return会返回undefined如果返回其他值会返回其值而forEach返回值永远会返回undefined // 3、错误foreach可以跳出本次循环return 语句可以在当前回调函数中返回而map不能只能遍历完整个数组。// return其实就是跳出本次循环进行下次循环区别其实和前面一样的都是对最后返回的新数组产生影响如果都定义sum在循环里操作返回值都会相等const array1 [1, 2, 3, 4, 5];let sum1 0;array1.forEach((element) {if (element 3) {return;//这句后面的代码此次循环都不会执行所以对sum1不会有影响如果返回23,那么返回的新数组此元素也会返回23}console.log(element); //1,2,4,5sum1 element;});console.log(newArray1);//undefinedconsole.log(sum1); // 输出: 12console.log(2222222);const array2 [1, 2, 3, 4, 5];let sum2 0;const newArray array2.map((element) {if (element 3) {return;这句后面的代码此次循环都不会执行所以对sum2不会有影响}console.log(element);// 1,2,4,5sum2 element;return element * 2;});console.log(sum2);// 12console.log(newArray); // 输出: [2, 4, undefined, 8, 10] 6.map 方法支持链式调用forEach不支持因为返回的是undefined const array3 [1, 2, 3, 4, 5];const doubledSum array3.map((element) element * 2).reduce((accumulator, currentValue) accumulator currentValue, 0);console.log(doubledSum); // 输出: 30 7.总结 forEach区别 forEach无返回值具体得说是return会返回undefinedmap会返回新数组数组类型为基本数据类型时forEach()和map()都不会改变原数组数组类型为引用数据类型时forEach()和map()都会改变原数组循环体中使用return时return后的代码都不会执行只会对循环后的返回值有影响forEach永远返回undefinedmap()会返回return的值forEach()不支持链式操作map()支持链式操作
http://www.w-s-a.com/news/37655/

相关文章:

  • 加强网站的建设福州seo排名外包
  • 做婚庆找什么网站有专门为个人网站做推广的吗
  • 网站搭建要求模板学编程需要英语基础吗
  • 网上如何建网站卖量具净水机企业网站源码
  • 网站推广 软件规划设计公司年终总结
  • 视频网站开发方法微站网建站系统
  • 渐变网站网页界面设计的宗旨是什么
  • 网站排名提升工具免费韶关做网站公司
  • 做网站一个月可以赚多少钱东营市建设工程招标网
  • 网站开发工具阿里云怎么做网站
  • 用html做静态网站成都专业logo设计公司
  • 哪里有免费建站平台233小游戏网页版在线玩
  • 为什么我的网站做不起来网站能搜索到
  • 方又圆网站建设信息流广告二级代理
  • 公司管理网站首页网站后台编辑框不显示
  • aspnet网站开发模板备案 网站建设方案书
  • 营销软件网站wordpress优秀的破解主题
  • 卧龙区网站建设国内漂亮网站欣赏
  • 服装 网站模板 wordpress石家庄做网站的公司有哪些
  • 惠州技术支持网站建设百度怎样注册免费的网站
  • 无锡哪里有做网站的公司泸州网站建设公司
  • 怎么进行网站推广jsp可以做那些小网站
  • 懒人手机网站wordpress修改秒速
  • WordPress资讯网站用花生壳做网站
  • 关于营销方面的网站建设网站怎么克隆
  • 站长网seo综合查询工具电商公司简介
  • 全能网站建设教程广告制作公司需要什么设备
  • 汽车行业做网站网站改版seo建议
  • 建设职业注册中心网站photoshop属于什么软件
  • 公司网站展示有哪些wordpress工单