国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS數組的迭代

cc17 / 584人閱讀

摘要:方法對數組的每個元素執行一次提供的函數。與的區別是返回一個循環處理后的數組,不改變原數組的值,而則只是遍歷一遍數組,執行提供的函數。對于放在空數組上的任何條件,此方法返回。

forEach

forEach() 方法對數組的每個元素執行一次提供的函數。

var array1 = ["a", "b", "c"];

array1.forEach(function(element) {
  console.log(element);
});

// expected output: "a"
// expected output: "b"
// expected output: "c"

forEach()是沒有辦法中止或者跳出循環的,除非拋出一個異常。

map

map() 方法創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果。

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 of

for...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

filter

filter() 方法創建一個新數組, 其包含通過所提供函數實現的測試的所有元素。

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: 10
every

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 true
some

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

相關文章

  • JS迭代器模式《JavaScript設計模式與開發實踐》閱讀筆記

    摘要:但實際中,內部迭代器和外部迭代器兩者并無優劣。迭代器并不只迭代數組迭代器模式不僅能迭代數組,還可以迭代一些類數組對象。晚安了,參考設計模式與開發實踐曾探本文作者本文鏈接迭代器模式設計模式與開發實踐閱讀筆記 迭代器模式:一個相對簡單的模式,目前絕大多數語言都內置了迭代器,以至于大家都不覺得這是一種設計模式 迭代器模式 迭代器模式指提供一種方法訪問一個聚合對象中的各個元素,而又不需要暴露該...

    djfml 評論0 收藏0
  • js常見循環迭代:for loop, forEach, for...in... for...

    摘要:下面就總結下中常見的幾種循環方法。因為循環將遍歷對象本身的所有可枚舉屬性,以及對象從其構造函數原型中繼承的屬性。上也明確提示不應該用于迭代一個,其中索引順序很重要。 引言 平時工作中循環的使用場景可以說是非常之多了,昨天改別人代碼時候有位同事非常喜歡用ES6等新特性,一個數組的遍歷全部都是用for...of...,然后業務需求要用到數組中的序號index值,就很尷尬了,我只能改回for...

    Leo_chen 評論0 收藏0
  • js for of 無法改變數組變量

    摘要:今天寫個函數時想遍歷數組,想想沒怎么用過這類的語法,于是做了個嘗試,竟發現無法改變數組元素。這里我們可以看到的本質是返回一個迭代器第三,迭代器是如何獲得值的迭代器通過方法返回值,而不是指向地址,所以在迭代中無法改變數組元素參考材料 今天寫個函數時想遍歷數組,想想沒怎么用過for...of...這類的語法,于是做了個嘗試,竟發現for...of...無法改變數組元素。 貼代碼,上例子 l...

    hover_lew 評論0 收藏0
  • js迭代方法

    摘要:根據使用的方法不同,這個函數執行后的返回值可能會也可能不會影響方法的返回值。對數組中的每一項運行給定函數,返回改函數會返回的項組成的數組。 ECMAScript 為數組定義了五個迭代方法。 每個方法都接收兩個參數:要在每一項上運行的函數和(可選的)運行該函數的作用域對象——影響this的值。 傳入這些方法中的函數會接收三個參數:數組項的值、該項在數組中的位置和數組對象本省。 根據使用的...

    fsmStudy 評論0 收藏0
  • js數組操作--使用迭代方法替代for循環

    摘要:還有一個就是,我本身在數組的遍歷上,基本都是用循環進行操作,在開始使用了迭代方法之后,我循環用的很少。對數組中每一項運行給定函數。返回該函數會返回的項組成的數組。 前言 數組的迭代方法,這個想必大家都不陌生了,可能剛入門的人暫時還沒接觸到這個。但是以后的開發中,肯定會用得上的。我自身的一個使用經歷就是,如果迭代方法用的適當,不但可以減少代碼量,也能使代碼可讀性更強,性能上的優化也是肯定...

    kamushin233 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<