JavaScript幾種常見循環(huán)遍歷使用和區(qū)別
前言
在javascript語言中經(jīng)常需要使用循環(huán)語法去獲取數(shù)據(jù)中的一些值,例如,我們需要將列表中的商品逐個輸出,或者運行相同的代碼將數(shù)字 1 到 10 逐個輸出。方法也比較多,該篇將講解常見的循環(huán)遍歷的使用及區(qū)別
1.“for” 循環(huán):它是最常使用的循環(huán)形式
對以上代碼做出解釋
| begin | let i = 0 | 進入循環(huán)時執(zhí)行一次。 |
|---|---|---|
| condition | i <= 3 | 在每次循環(huán)迭代之前檢查,如果為 false,停止循環(huán)。 |
| body(循環(huán)體) | alert(i) | 條件為真時,重復(fù)運行。 |
| step | i++ | 在每次循環(huán)體迭代后執(zhí)行。 |
2."for..in" 循環(huán):為了遍歷一個對象的所有鍵(key)
for (key in object) {
// 對此對象屬性中的每個鍵執(zhí)行的代碼
}
?
// 案例:拿到對象中的鍵
let user = {
name: "千鋒教育",
age: 11,
isAdmin: true
};
for (let key in user) {
// keys
alert( key ); // name, age, isAdmin
// 屬性鍵的值
alert( user[key] ); // 千鋒教育,11, true
}3.for..of:不能獲取當(dāng)前元素的索引,只是獲取元素值
let arr = ["千鋒教育", "HTML5學(xué)科", "前端扛把子"];
for (let key of arr) {
alert( arr[key] ); // 千鋒教育,HTML5學(xué)科,前端扛把子
}對于以上常見三種的循環(huán)總結(jié):
- for循環(huán):常見的基礎(chǔ)循環(huán)、可以提前break
- for..in循環(huán):用于遍歷對象屬性、得到對象中的鍵(字符串)、不可以直接進行數(shù)學(xué)運算、可以提前break
- for..of循環(huán):用于遍歷數(shù)組和可迭代對象的循環(huán)、得到數(shù)組對象中的值、可以提前break
4.forEach:允許為數(shù)組的每個元素都運行一個函數(shù)
arr.forEach(function(item, index, array) {
// ... 執(zhí)行代碼
});
?
// 案例:
let arr = [1, 2, 3, 4, 5];
arr.forEach(function (item) {
? ? console.log(item) // 1,2,3,4,5
});// undefined
// 沒有返回值,本質(zhì)上等同于 for 循環(huán),對每一項執(zhí)行 function 函數(shù),不會改變原數(shù)組5.Map and Set(映射和集合)
Map是一組鍵值對的結(jié)構(gòu),具有極快的查找速度
let arr = ['HTML5', 'Java', 'python'];
let age = [100, 80, 90];
let res = new Map([['HTML5', 100], ['Java', 80], ['python', 90]]);
res.get('HTML5'); // 100
?
// Map常見的方法
let res = new Map(); // 空Map
res.set('勇哥', 18); // 添加新的key的value
res.has('勇哥'); // 是否存在key
res.get('勇哥'); // 18
res.delete('勇哥'); // 刪除key
res.get('翔哥'); // undefined
?
// Set和Map類似,也是一組key的集合,但不存儲value。由于key不能重復(fù),所以,在Set中,沒有重復(fù)的key
let set = new Set(["千鋒教育", "HTML5", "11"]);
for (let value of set) alert(value);
?
// 與 forEach 相同:
set.forEach((value, valueAgain, set) => {
alert(value);
});Map和Set的總結(jié):
- Map是一個帶鍵的數(shù)據(jù)項的集合、任何鍵、對象都可以作為鍵
- Set是一組唯一值的集合、不能對元素進行重新排序,也不能直接按其編號來獲取元素
以上:作為比較高頻的面試題,同學(xué)們可以針對練習(xí)記憶!
到此這篇關(guān)于JavaScript幾種常見循環(huán)遍歷使用和區(qū)別的文章就介紹到這了,更多相關(guān)JS循環(huán)遍歷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js中的循環(huán)方式及各種遍歷的方法
- JS中循環(huán)遍歷數(shù)組的四種方式總結(jié)
- 解決vuejs 使用value in list 循環(huán)遍歷數(shù)組出現(xiàn)警告的問題
- JavaScript 中的12種循環(huán)遍歷方法【總結(jié)】
- js 實現(xiàn)獲取name 相同的頁面元素并循環(huán)遍歷的方法
- JavaScript中利用for循環(huán)遍歷數(shù)組
- Javascript數(shù)組循環(huán)遍歷之forEach詳解
- JS簡單循環(huán)遍歷json數(shù)組的方法
- JavaScript中循環(huán)遍歷Array與Map的方法小結(jié)
相關(guān)文章
js使用generator函數(shù)同步執(zhí)行ajax任務(wù)
這篇文章主要為大家詳細介紹了js使用generator函數(shù)同步執(zhí)行ajax任務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-09-09
Code:loadScript( )加載js的功能函數(shù)
Code:loadScript( )加載js的功能函數(shù)...2007-02-02

