導(dǎo)讀 :
- ES6就新增了一個for of循環(huán)(用法代碼底部)件豌,其特性的話就是內(nèi)置迭代器掰伸,可以用來執(zhí)行 Generator 函數(shù)站辉,然后順便復(fù)習(xí)一下前ES5里面的循環(huán)(遍歷)划栓,講解都在代碼注釋里兑巾,我就不再多說了。
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// forEach() 注意點:使用箭頭函數(shù)第二個參數(shù)(指向問題)將不生效
/*
let arr = ['apple','banana','orange'];
arr.forEach(function(val, index, arr){
console.log(this, val, index, arr);
},document);
*/
// map() 注意點:與forEach最大區(qū)別在于該函數(shù)可以設(shè)置返回值格式
/*
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>
總結(jié) :
- 個人感覺這個循環(huán)寫法比較簡潔,可以嘗試改變一下編碼風(fēng)格堂油。
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者