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

沈阳企业制作网站哪里建个人网站好

沈阳企业制作网站,哪里建个人网站好,WordPress恶意扫描,城阳网站开发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/14384352/

相关文章:

  • 维护网站的职位叫什么cms 网站
  • wordpress网站被黑了南昌网站推广策划
  • 麒贺丝网做的网站优化女人网站源码
  • 西安企业网站seo自己开发小程序要多少钱
  • 网站ui设计是什么WordPress出现508
  • 怎样做旅游视频网站织梦 做网站 教程
  • 云南省建设厅官方网站不良记录酒店网站的建设方案
  • 垂直电商网站建设方案青海省建设厅职业注册官方网站
  • wordpress站长主题北京网络推广公司排名
  • 安徽合肥建设银行招聘网站国外搜索引擎大全
  • 安 网站建设word可以做网页
  • 山东建设官方网站wordpress添加页面模块
  • 做网站公司联系方式页面网站设计内容清单
  • 南京网站制作联系宋营销网点机构号
  • 建设网站的岗位专业制作网站用哪些软件
  • 顺企网江西网站建设西安网站建设公司咪豆
  • 做外贸网站那个好网站流量 钱
  • 企业级网站开发酒店网站建设描述
  • 网站分析软件网站 数据库 关系
  • 三点水网站建设最新网站建设合同
  • 网站视频放优酷里面怎么做国外优秀个人网页设计欣赏
  • 长安网站制作天猫国际采取的跨境电商网络营销方式
  • 毕业设计题网站开发郑州市 网站建设
  • 没有网站域名备案信息吗Wordpress手机端显示不全
  • 使用中文域名的网站wordpress无插件美化
  • 建设网站知乎编程软件c语言
  • 网站开发和平台开发深圳中小企业网站制作
  • 莱芜梆子网站seo 网站地图
  • 桐柏微网站开发美发店网站源码
  • 宜昌哪里有专业做网站的响应式网站开发哪家好