導讀 :
- ES6就新增了一個for of循環(huán)(用法代碼底部),其特性的話就是內置迭代器,可以用來執(zhí)行 Generator 函數,然后順便復習一下前ES5里面的循環(huán)(遍歷),講解都在代碼注釋里,我就不再多說了。
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// forEach() 注意點:使用箭頭函數第二個參數(指向問題)將不生效
/*
let arr = ['apple','banana','orange'];
arr.forEach(function(val, index, arr){
console.log(this, val, index, arr);
},document);
*/
// map() 注意點:與forEach最大區(qū)別在于該函數可以設置返回值格式
/*
let arr = [
{title: 'aaa', read: 100, hot: true},
{title: 'bbb', read: 567, hot: false},
{title: 'ccc', read: 154, hot: false},
{title: 'ddd', read: 5, hot: true}
];
let res = arr.map(function(item, index, arr){
let json = {};
json.t = `^_^${item.title}`;
json.r = item.read + 100;
json.h = item.hot == true && '真棒!!!';
return json;
});
console.log(res);
*/
// filter 注意點:過濾符合要求的組
/*
let arr = [
{title: 'aaa', read: 100, hot: true},
{title: 'bbb', read: 567, hot: false},
{title: 'ccc', read: 154, hot: false},
{title: 'ddd', read: 5, hot: true}
];
let newArray = arr.filter(function(val, index, arr){
return val.hot == true;
});
console.log(newArray);
*/
// some 注意點:判斷有沒有包含指定的值
/*
let arr = ['apple','banana','orange'];
let temp = arr.some((val, index, arr)=>{
return val == 'banana';
});
console.log(temp); // true*/
// every 注意點:和some相似,只不過是滿足所有條件為true
// reduce 求和,階乘等(Math.pow())
// ES6新增: for..of 遍歷索引和值:arr.entries(),索引:arr.keys()
let arr = ['apple','banana','orange'];
for(let val of arr) {
console.log(val);
}
</script>
</body>
</html>
總結 :
- 個人感覺這個循環(huán)寫法比較簡潔,可以嘗試改變一下編碼風格。
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。