js 中forEach for in for of

本文深入解析JavaScript中数组的ForEach和Map方法,对比其功能与应用差异,并探讨ForIn与ForOf循环的不同之处,帮助开发者更好地理解和运用这些核心数组操作。

ForEach和map的区别

相同点:

  • 都是循环遍历数组中的每一项
  • forEach和map方法里每次执行匿名函数都支持3个参数,参数分别是item(当前每一项)、index(索引值)、arr(原数组)
  • 匿名函数中的this都是指向window
  • 只能遍历数组不同点
  • 1.map()方法 
  • map定义和用法: 
    map方法返回一个新的数组,数组中的元素为原始数组调用函数处理后的值。 
    我的理解就是:原数组进行处理之后对应的一个新的数组。 
    map()方法按照原始数组元素顺序依次处理元素。 
    注意:map()方法不会对空数组进行检测。 
    map()方法不会改变原始数组。 
    浏览器支持: 
    chrome、safari、opera都支持 
    IE:>=9版本 
    safari: >=1.5
    2.forEach
    定义和用法
    forEach()方法用于调用数组的每个元素,将元素传给回调函数。
    注意:forEach对于空数组是不会调用回调函数的。
  • ForEach在遍历是不能使用break和return
  • for in和for of的区别
  • 1、for in可以枚举
  • var obj = { a: 1, b: [], c: function () {} }; for (var key in obj) { console.log(key); }
  • // 结果是: // a // b // c
  • for of不能枚举
  • 2、for in枚举数组时
  • var arr = [3, 5, 7]; for (var i in arr) { console.log(i); } // 结果是: // 0 // 1 // 2
  • //得到的结果是下表
  • for of
  • var arr = [3, 5, 7]; for (var i of arr) { console.log(i); } // 结果是: // 3 // 5 // 7
  • 得到的结果是数值
  • 3、for of支持迭代字符串
  • let str = 'boo'; for (let value of str) { console.log(value); } // 结果是: // "b" // "o" // "o"
  • 4、迭代arguments类数组对象
  • (function() { for (let argument of arguments) { console.log(argument); } })(1, 2, 3); // 结果是: // 1 // 2 // 3
  • 5、迭代NodeList这类DOM集合
  • let elements = document.querySelectorAll('body'); for (let element of elements) { console.log(element.tagName); } // 结果是: // "BODY"
基于NSGA-III算法求解微电网多目标优化调度研究(Matlab代码实现)内容概要:本文围绕基于NSGA-III算法的微电网多目标优化调度展开研究,重点介绍了如何利用该先进多目标进化算法解决微电网系统中多个相互冲突的目标(如运行成本最小化、碳排放最低、供电可靠性最高等)的协同优化问题。文中结合Matlab代码实现,详细阐述了NSGA-III算法的基本原理、在微电网调度模型中的建模过程、约束条件处理、目标函数设计以及仿真结果分析,展示了其相较于传统优化方法在求解高维、非线性、多目标问题上的优越性。同时,文档还提供了丰富的相关研究案例和技术支持背景,涵盖电力系统优化、智能算法应用及Matlab仿真等多个方面。; 适合人群:具备一定电力系统基础知识和Matlab编程能力的研究生、科研人员及从事能源优化领域的工程技术人员;尤其适合正在进行微电网调度、多目标优化算法研究或撰写相关论文的研究者。; 使用场景及目标:①掌握NSGA-III算法的核心思想及其在复杂能源系统优化中的应用方式;②学习如何构建微电网多目标调度模型并利用Matlab进行仿真求解;③为科研项目、毕业论文或实际工程提供算法实现参考和技术支撑。; 阅读建议:建议读者结合文中提供的Matlab代码实例,逐步调试运行并深入理解算法流程与模型构建细节,同时可参考文档中列出的其他优化案例进行横向对比学习,以提升综合应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值