原文: https://www.cnblogs.com/yizhilin/p/7344675.html

针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。

JS数组遍历:

1,普通for循环,经常用的数组遍历

var arr = [1,2,0,3,9];
 for ( var i = 0; i <arr.length; i++){
    console.log(arr[i]);

2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度,数组很大时优化效果明显

for(var j = 0,len = arr.length; j < len; j++){
    console.log(arr[j]);

3,forEach,ES5推出的,数组自带的循环,主要功能是遍历数组,实际性能比for还弱

arr.forEach(function(value,i){
  console.log('forEach遍历:'+i+'--'+value);

forEach这种方法也有一个小缺陷:你不能使用break语句中断循环,也不能使用return语句返回到外层函数。

4,map遍历,map即是 “映射”的意思 用法与 forEach 相似

arr.map(function(value,index){
    console.log('map遍历:'+index+'--'+value);

map遍历支持使用return语句,支持return返回值

var temp=arr.map(function(val,index){
  console.log(val);  
  return val*val           
console.log(temp); 

forEach、map都是ECMA5新增数组的方法,所以ie9以下的浏览器还不支持

5,for-of遍历 是ES6新增功能

for( let i of arr){
    console.log(i);
  • for-of这个方法避开了for-in循环的所有缺陷
  • 与forEach()不同的是,它可以正确响应break、continue和return语句 

for-of循环不仅支持数组,还支持大多数类数组对象,例如DOM NodeList对象

for-of循环也支持字符串遍历

JS对象遍历:

1,for-in遍历

for-in是为遍历对象而设计的,不适用于遍历数组。

遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0","1","2"等是字符串

for (var index in arr){
    console.log(arr[index]);
    console.log(index);
                    原文:https://www.cnblogs.com/yizhilin/p/7344675.html针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。JS数组遍历:1,普通for循环,经常用的数组遍历var arr = [1,2,0,3,9]; for ( var i = 0; i &lt;arr.length; i++){    con...
				
鉴于循环目标是个对象,length是为undefined,用map等对数组的循环方法不行,对象就用此下方法   for(var key in _this.lists.medicines){     medicineName +=_this.lists.medicines[key].medicine.medicinePublic.medicineName + ",";
你可以使用 JavaScript 中的循环结构,如 for 循环或 forEach() 方法来遍历一个列表对象。 下面是一个使用 for 循环遍历一个列表对象的例子: const myList = ['apple', 'banana', 'orange']; for (let i = 0; i < myList.length; i++) { console.log(myList[i])...
第一种:for循环,也是最常见的 const arr = [11, 22, 33, 44, 55, 66, 77, 88]; for (let i = 0; i < arr.length; i++) { console.log(arr[i]); 打印结果: 第二种:forEach() 1.)forEach() 遍历普通数组 const arr = [11, 22, 33, 44, 55, 66, 77, 88]; arr.forEach(item => { 更新时间:2020年06月16日 14:20:46 作者:by.Genesis 这篇文章主要介绍了JS中5种遍历对象的方式,文中讲解非常的细致,帮助你更好的了解JS,感兴趣的朋友可以参考下 几天前一个小伙伴问我Object.getOwnPropertyNames()是干什么用的 平时还真没有使用到这个方法,一时不知如何回答 从方法名称来分析,应该是返回的是对象自身属性名组成的数组 那和Object.keys()方法不就一样了吗 感觉事情并不这么简单,...
数组中每个元素执行一次ok函数,知道某个元素返回true,则直接返回true。如果都返回false,则返回false检查整个数组中是否有满足元素。 private some(id: number) { const arr = [ { cityId: 195, cityName: '深圳'}, { cityId: 196, cityName: '北京'}, { cityId: 198, cityName: '上海'}
对于数组或者对象遍历,筛选,提取等操作是前端开发中经常有的需求,不要再只会写普通的for循环了,虽然普通的for循环已经能完成一切的功能的,是一个特殊方法,但是针对各种需求,js给我们提供了许多方法,来更优雅的遍历,来学习一下吧! 1. for in for in 循环,数组对象都可以遍历,item为array的下标,或者object的key这样的代码,比起for循环可读性能强一些。 2.for of 与for in 不同的是,for of只能遍历数组,item为数组元素的值 3.Object.keys
为了解决数组遍历时间过长的问题,可以考虑以下几种方法: 1. 使用 forEach() 代替 for 循环,因为 forEach() 是对数组中的每个元素执行回调函数的一种最佳实践。 2. 使用 map() 或 reduce() 函数进行操作,可以更快地处理大型数组。 3. 使用 web workers,将大型数组分割成多个较小的数组,在多个线程中进行处理。 4. 使用高性能库,如 lodash,可以更快地处理大型数组。 5. 减少不必要的操作,如对数组进行预处理,缩小遍历范围等。