for...of的使用
ES6引入了一个新的循环语法,即for...of。
对于三重循环:
for (let i = 0; i < list.length; i++) { for(var key in list[i]){ for(var j = 0;j < dataDict.length;j++){ if (dataDict[j].COLUMN_NAME == key) { //转换时间 if(key.indexOf("Date")!==-1){ list[i][key] = timestampToTime(list[i][key]) } list[i][key] +="^"+dataDict[j].COMMENTS } } } }
我们可以修改为:
for(const item of list){ for(var key in item){ for({ COLUMN_NAME,COMMENTS } of dataDict){ if(COLUMN_NAME == key){ if(key.indexOf("Date")!==-1){ item[key] = timestampToTime(item[key]) } item[key] +="^" + COMMENTS } } } }
从中我们可以看出:
1.使用for...of可以代替传统的带索引的循环,去掉索引值。
2.在for...of中可以进行解构,从而简化代码。
3.使用for...of后代码内容更容易被理解。
ps:要在for...of中获取索引值可以使用
for(let [index,item] of arr.entries()){ //do Stuff }
来实现。