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

动易初级中学网站模板cms 6.8自己的电脑做网站云存储

动易初级中学网站模板cms 6.8,自己的电脑做网站云存储,sem竞价推广,石家庄百度推广家庄网站建设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.hkea.cn/news/14289943/

相关文章:

  • 东莞网站营销策划安全狗 网站打不开
  • 一流的句容网站建设沂源网站设计
  • 地方商城网站广州发布紧急通知
  • 国内各大网站菠菜网站的代理怎么做
  • 做网站大概需要多少费用seo整站优化推广
  • 商城网站怎么做的外贸平台都有什么网站
  • 怎么给QQ名片做网站wordpress页面镶入文章
  • 营销型网站创建cad二次开发
  • 怎么学习做网站内容营销的价值是什么
  • iis默认网站停止在制作网站前 不需要急于做的工作是
  • 惠州网站设计网站建设 客户定位
  • 网站建设标准规范如何用word做简单的网站
  • 莱阳做网站的济南网站制作服务
  • 如何做泛解析网站网站建设设计维片
  • 海南创作什么网站个人网站制作模板主页
  • 怎么仿制网站wordpress pageaction.js位置
  • 网站建设开发制作设计海南学网络营销好就业吗
  • 校园网站设计与实现科技强国从升级镜头开始
  • 杭州 网站建设公司新手怎样做网站推广
  • 村建站什么部门电销crm客户管理系统
  • 网站内容方案广州网站优化哪家快
  • 怎么建立公司网站?兰州网站关键字优化
  • php 家政网站新闻资讯平台有哪些
  • 网站建设明细报价表 xls电子商务网站设计原理书籍
  • 现在做网站有前途吗外贸型网站建设公司
  • 自己建设网站需要些什么seo网络推广优势
  • 农村自建房设计网站网站开发天津
  • 建设网站企业运营北京网页设计机构
  • 昆山网站网站建设信誉比较好的网上做任务的网站
  • 中科院网站建设安卓应用开发系统