91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

淺析JS中的 map, filter, some, every, forEach, for in, for of 用法總結

發布時間:2020-09-25 21:10:56 來源:腳本之家 閱讀:137 作者:mrr 欄目:web開發

1.map

有返回值,返回一個新的數組,每個元素為調用func的結果。

let list = [1, 2, 3, 4, 5];
let other = list.map((d, i) => {
  return d * 2;
});
console.log(other);
// print: [2, 4, 6, 8, 10]

2.filter

有返回值,返回一個符合func條件的元素數組

let list = [1, 2, 3, 4, 5];
let other = list.filter((d, i) => {
  return d % 2;
});
console.log(other);
// print: [1, 3, 5]

3.some

返回一個boolean,判斷是否有元素符合func條件,如果有一個元素符合func條件,則循環會終止。

let list = [1, 2, 3, 4, 5];
list.some((d, i) => {
  console.log(d, i);
  return d > 3;
});
// print: 1,0 2,1 3,2 4,3
// return false

4.every

返回一個boolean,判斷每個元素是否符合func條件,有一個元素不滿足func條件,則循環終止,返回false。

let list = [1, 2, 3, 4, 5];
list.every((d, i) => {
  console.log(d, i);
  return d < 3;
});
// print: 1,0 2,1 3,2
// return false

5.forEach

沒有返回值,只針對每個元素調用func。

優點:代碼簡介。

缺點:無法使用break,return等終止循環。

let list = [1, 2, 3, 4, 5];
let other = [];
list.forEach((d, i) => {
  other.push(d * 2);
});
console.log(other);
// print: [2, 4, 6, 8, 10]

6.for in

for-in循環實際是為循環”enumerable“對象而設計的,for in也可以循環數組,但是不推薦這樣使用,for–in是用來循環帶有字符串key的對象的方法。

缺點:只能獲得對象的鍵名,不能直接獲取鍵值。

var obj = {a:1, b:2, c:3};
for (var prop in obj) {
 console.log("obj." + prop + " = " + obj[prop]);
}
// print: "obj.a = 1" "obj.b = 2" "obj.c = 3"

7.for of

for of為ES6提供,具有iterator接口,就可以用for of循環遍歷它的成員。也就是說,for of循環內部調用的是數據結構的Symbol.iterator方法。

for of循環可以使用的范圍包括數組、Set和Map結構、某些類似數組的對象(比如arguments對象、DOM NodeList對象)、后文的Generator對象,以及字符串。

有些數據結構是在現有數據結構的基礎上,計算生成的。比如,ES6的數組、Set、Map都部署了以下三個方法,調用后都返回遍歷器對象。

entries

entries() 返回一個遍歷器對象,用來遍歷[鍵名, 鍵值]組成的數組。對于數組,鍵名就是索引值;對于Set,鍵名與鍵值相同。Map結構的iterator接口,默認就是調用entries方法。

keys

keys() 返回一個遍歷器對象,用來遍歷所有的鍵名。

values

values() 返回一個遍歷器對象,用來遍歷所有的鍵值。

這三個方法調用后生成的遍歷器對象,所遍歷的都是計算生成的數據結構。

// 字符串
let str = "hello";
for (let s of str) {
 console.log(s); // h e l l o
}
// 遍歷數組
let list = [1, 2, 3, 4, 5];
for (let e of list) {
  console.log(e);
}
// print: 1 2 3 4 5
// 遍歷對象
obj = {a:1, b:2, c:3};
for (let key of Object.keys(obj)) {
 console.log(key, obj[key]);
}
// print: a 1 b 2 c 3

說明:對于普通的對象,for...in循環可以遍歷鍵名,for...of循環會報錯。

一種解決方法是,使用Object.keys方法將對象的鍵名生成一個數組,然后遍歷這個數組。

// entries
let arr = ['a', 'b', 'c'];
for (let pair of arr.entries()) {
 console.log(pair);
}
// [0, 'a']
// [1, 'b']
// [2, 'c']

以上所述是小編給大家介紹的淺析JS中的 map, filter, some, every, forEach, for in, for of 用法總結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大埔县| 昭苏县| 榆林市| 康平县| 石渠县| 汶上县| 永安市| 迁西县| 奉节县| 昆山市| 特克斯县| 休宁县| 渭源县| 永安市| 琼结县| 通州市| 荆州市| 乐至县| 永济市| 怀宁县| 仙游县| 分宜县| 太仆寺旗| 东台市| 黄山市| 文安县| 永清县| 阿瓦提县| 弥渡县| 肇庆市| 新昌县| 西城区| 武鸣县| 太和县| 六盘水市| 浏阳市| 盐山县| 蕲春县| 石楼县| 平邑县| 延川县|