简介:不少概念不清或忘记,从新构建本身的知识体系。天天问本身1~多个问题。我是菜鸟 成为大神之路!
数组
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);
});
复制代码
它的出现主要是为了解决ES5中3种遍历方式的缺陷: forEach 不能break 或者return
bash
for-in
的缺点: 它不只遍历了数组中的元素,还遍历了自定义属性,甚至连原型链上的属性都被访问到。
ide
使用for-of
的优点:
学习
①这是最简洁、直接遍历数组的方式
②这个方法避开了for-in循环的缺陷
③与forEach不一样,它能够正确响应break,continue,return 语句。
复制代码
缺点:
for-of不支持普通对象遍历,只能遍历可迭代对象
ui
for(item of array){
console.log(item);
}
复制代码
for-of
for...of
语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)
上建立一个迭代循环,调用自定义迭代钩子,并为每一个不一样属性的值执行语句spa
😂for...in 语句以原始插入顺序迭代对象的可枚举属性。
😂for...of 语句遍历可迭代对象定义要迭代的数据。prototype
参考文章:
① www.jianshu.com/p/c43f418d6…
② developer.mozilla.org/zh-CN/docs/…
③ developer.mozilla.org/zh-CN/docs/…code