摘要:方法對數組的每個元素執行一次提供的函數。與的區別是返回一個循環處理后的數組,不改變原數組的值,而則只是遍歷一遍數組,執行提供的函數。對于放在空數組上的任何條件,此方法返回。
forEach
forEach() 方法對數組的每個元素執行一次提供的函數。
var array1 = ["a", "b", "c"]; array1.forEach(function(element) { console.log(element); }); // expected output: "a" // expected output: "b" // expected output: "c"
forEach()是沒有辦法中止或者跳出循環的,除非拋出一個異常。
mapmap() 方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果。
var array1 = [1, 4, 9, 16]; // pass a function to map const map1 = array1.map(x => x * 2); console.log(map1); // expected output: Array [2, 8, 18, 32]
map()與forEach()的區別是map返回一個循環處理后的數組,不改變原數組的值,而forEach則只是遍歷一遍數組,執行提供的函數。
for offor...of語句在可迭代對象(包括 Array,Map,Set,String,TypedArray,arguments 對象等等)上創建一個迭代循環,調用自定義迭代鉤子,并為每個不同屬性的值執行語句
let iterable = [10, 20, 30]; for (const value of iterable) { console.log(value); } // 10 // 20 // 30
關于for...of語句遍歷更多用法mdn
filterfilter() 方法創建一個新數組, 其包含通過所提供函數實現的測試的所有元素。
var words = ["spray", "limit", "elite", "exuberant", "destruction", "present"]; const result = words.filter(word => word.length > 6); console.log(result); // expected output: Array ["exuberant", "destruction", "present"]reduce
reduce() 方法對數組中的每個元素執行一個由您提供的reducer函數(升序執行),將其結果匯總為單個返回值。
const array1 = [1, 2, 3, 4]; // 1 + 2 + 3 + 4 console.log(array1.reduce((accumulator, currentValue) => accumulator + currentValue)); // expected output: 10every
every() 方法測試數組的所有元素是否都通過了指定函數的測試。
function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is truesome
some() 方法測試是否至少有一個元素通過由提供的函數實現的測試。
對于放在空數組上的任何條件,此方法返回false。
[2, 5, 8, 1, 4].some(x => x > 10); // false [12, 5, 8, 1, 4].some(x => x > 10); // true
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/102368.html
摘要:但實際中,內部迭代器和外部迭代器兩者并無優劣。迭代器并不只迭代數組迭代器模式不僅能迭代數組,還可以迭代一些類數組對象。晚安了,參考設計模式與開發實踐曾探本文作者本文鏈接迭代器模式設計模式與開發實踐閱讀筆記 迭代器模式:一個相對簡單的模式,目前絕大多數語言都內置了迭代器,以至于大家都不覺得這是一種設計模式 迭代器模式 迭代器模式指提供一種方法訪問一個聚合對象中的各個元素,而又不需要暴露該...
摘要:下面就總結下中常見的幾種循環方法。因為循環將遍歷對象本身的所有可枚舉屬性,以及對象從其構造函數原型中繼承的屬性。上也明確提示不應該用于迭代一個,其中索引順序很重要。 引言 平時工作中循環的使用場景可以說是非常之多了,昨天改別人代碼時候有位同事非常喜歡用ES6等新特性,一個數組的遍歷全部都是用for...of...,然后業務需求要用到數組中的序號index值,就很尷尬了,我只能改回for...
摘要:今天寫個函數時想遍歷數組,想想沒怎么用過這類的語法,于是做了個嘗試,竟發現無法改變數組元素。這里我們可以看到的本質是返回一個迭代器第三,迭代器是如何獲得值的迭代器通過方法返回值,而不是指向地址,所以在迭代中無法改變數組元素參考材料 今天寫個函數時想遍歷數組,想想沒怎么用過for...of...這類的語法,于是做了個嘗試,竟發現for...of...無法改變數組元素。 貼代碼,上例子 l...
摘要:還有一個就是,我本身在數組的遍歷上,基本都是用循環進行操作,在開始使用了迭代方法之后,我循環用的很少。對數組中每一項運行給定函數。返回該函數會返回的項組成的數組。 前言 數組的迭代方法,這個想必大家都不陌生了,可能剛入門的人暫時還沒接觸到這個。但是以后的開發中,肯定會用得上的。我自身的一個使用經歷就是,如果迭代方法用的適當,不但可以減少代碼量,也能使代碼可讀性更強,性能上的優化也是肯定...
閱讀 989·2021-11-24 09:39
閱讀 2210·2021-11-16 11:54
閱讀 2092·2021-11-11 17:22
閱讀 2379·2021-09-30 09:55
閱讀 3607·2021-08-12 13:22
閱讀 1633·2019-08-30 15:44
閱讀 1179·2019-08-29 12:12
閱讀 3271·2019-08-27 10:58