简介:很多概念不清或忘记,重新构建自己的知识体系。每天问自己1~多个问题。我是菜鸟 成为大神之路!
1. JavaScript中数组遍历及方法推荐
var array = ["one","two","three"];
①for
循环 【推荐⭐⭐⭐⭐】
for(var i = 0,len = array.length;i < len;i++){
console.log(array[i]);
}
②for-in
【推荐⭐】
'如果数组是稀疏数组,使用该方法遍历的次数最少'
var xshu = [];
xshu[1] = "one";
xshu[66] = "two";
xshu[999] = "three";
'for-in 遍历 3次'
'for 循环遍历 10000 次'
for(index in array){
console.log(array[index]);
}
③Array.prototype.forEach()
【推荐⭐⭐⭐】
array.forEach(function(item,index,arr){
console.log(item,index,arr);
});
④ for-of(ES6中新增)【推荐⭐⭐⭐】
它的出现主要是为了解决ES5中3种遍历方式的缺陷:
forEach 不能break 或者return
for-in
的缺点:
它不仅遍历了数组中的元素,还遍历了自定义属性,甚至连原型链上的属性都被访问到。
使用for-of
的优势:
①这是最简洁、直接遍历数组的方式
②这个方法避开了for-in循环的缺陷
③与forEach不同,它可以正确响应break,continue,return 语句。
缺点:
for-of不支持普通对象遍历,只能遍历可迭代对象
for(item of array){
console.log(item);
}
2.学习for-of
for...of
语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)
上创建一个迭代循环,调用自定义迭代钩子,并为每个不同属性的值执行语句
①for...of与for...in的区别
😂for...in 语句以原始插入顺序迭代对象的可枚举属性。
😂for...of 语句遍历可迭代对象定义要迭代的数据。
②什么是可迭代对象 link<此知识 第11天学习>
参考文章:
① www.jianshu.com/p/c43f418d6…
② developer.mozilla.org/zh-CN/docs/…
③ developer.mozilla.org/zh-CN/docs/…