摘要:有用到對象的轉換成數組,然后又想到了遍歷方法,所以,也想記錄下終止或者跳出循環跳出循環體所在循環體已結束跳出本次循環,進行下一次循環,所在的循環體未結束終止函數執行只輸出,,,到就跳出循環了不輸出,因為跳過了,直接進入下一次循環遍歷方法假數
有用到object對象的轉換成數組,然后又想到了遍歷方法,所以,也想記錄下1. 終止或者跳出循環
break跳出循環體,所在循環體已結束
continue跳出本次循環,進行下一次循環,所在的循環體未結束
return 終止函數執行
for (let i = 0; i < 5; i++) { if (i == 3) break; console.log("The number is " + i); /* 只輸出 0 , 1 , 2 , 到3就跳出循環了 */ } for (let i = 0; i <= 5; i++) { if (i == 3) continue; console.log("The number is " + i); /* 不輸出3,因為continue跳過了,直接進入下一次循環 */ }2.遍歷方法
假數據
const temporaryArray = [6,2,3,4,5,1,1,2,3,4,5]; const objectArray = [ { id: 1, name: "d" }, { id: 2, name: "d" }, { id: 3, name: "c" }, { id: 1, name: "a" } ]; const temporaryObject = { a: 1, b: 2, c: 3, d: 4, }; const length = temporaryArray.length;
普通for循環遍歷
for(let i = 0; i < length; i++) { console.log(temporaryArray[i]); }
for in 循環
/* for in 循環主要用于遍歷普通對象, * 當用它來遍歷數組時候,也能達到同樣的效果, * 但是這是有風險的,因為 i 輸出為字符串形式,而不是數組需要的數字下標, * 這意味著在某些情況下,會發生字符串運算,導致數據錯誤 * */ for(let i in temporaryObject) { /* hasOwnProperty只加載自身屬性 */ if(temporaryObject.hasOwnProperty(i)) { console.log(temporaryObject[i]); } }
for of 循環,用于遍歷可迭代的對象
for(let i of temporaryArray) { console.log(i); }
forEach 第一個值為數組當前索引的值,第二個為索引值,只能遍歷數組,無返回值,也無法跳出循環
let a = temporaryArray.forEach(function(item, index) { console.log(index, item); });
map 返回新數組,只能遍歷數組
temporaryArray.map(function(item) { console.log(item); });
filter 是數組的內置對象,不改變原數組,有返回值
temporaryArray.filter(function(item) { console.log(item%2 == 0); });
some判斷是否有符合的值
let newArray = temporaryArray.some(function(item) { return item > 1; }); console.log(newArray);
every判斷數組里的值是否全部符合條件
let newArray1 = temporaryArray.every(function(item) { return item > 6; }); console.log(newArray1);
reduce(function(accumulator, currentValue, currentIndex, array) {}, initValue)
accumulator:初始值或者累加計算結束后的返回值, currentValue遍歷時的當前元素值,currentIndex當前索引值,array當前數組
initValue為初始值,若不添加參數initValue,則accumulator為當前數組的第一個元素值,若添加,則accumulator為initValue值,累加器accumulator從initValue開始運算
let temporaryObject3 = {}; let newArray2 = objectArray.reduce(function(countArray, currentValue) { /* 利用temporaryObject3里存放id來判斷原數組里的對象是否相同,若id相同,則繼續下一步,不同則將該對象放入新數組中 * 則countArray為去重后的數組 * */ temporaryObject3[currentValue.id] ? "" : temporaryObject3[currentValue.id] = true && countArray.push(currentValue); return countArray; }, []); console.log(newArray2);
正在努力學習中,若對你的學習有幫助,留下你的印記唄(點個贊咯^_^)
往期好文推薦:
判斷ios和Android及PC端
實現文字的省略號
css實現波浪線及立方體
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98672.html
摘要:就稱為部署了遍歷器接口。是一個函數,調用它會生成一個遍歷器對象。它的屬性,也是一個遍歷器對象生成函數,執行后返回它自己。返回遍歷器對象。下面是一個無限運行的遍歷器對象的例子。 『ES6知識點總結』遍歷器iterator本文內容如下: 1 具有iterator接口的數據結構 2 遍歷器過程 3 遍歷器作用: 4 模擬next()方法 5 使用while循環 6 TypeScript的寫法...
摘要:遍歷器原有的表示集合的數據結構,主要有和,在中又加入了和,這樣就有了四種數據集合,還可以組合使用它們,如數組的成員是或,這樣就需要一種統一的接口機制,用來處理所有不同的數據結構。 showImg(https://segmentfault.com/img/remote/1460000018998438?w=900&h=431); 閱讀原文 Generators 簡介 Generato...
摘要:由于中引入了許多數據結構算上原有的包括等等數組需要一個東西來管理他們這就是遍歷器。數組默認遍歷器遍歷值相當于依次輸出依次輸出依次輸出依次輸出不難看出默認得到值而只能得到索引。即遍歷器的本質就是一個指針。 由于 ES6 中引入了許多數據結構, 算上原有的包括Object, Array, TypedArray, DataView, buffer, Map, WeakMap, Set, We...
摘要:遍歷方法小結常用的遍歷方法遍歷對數組的每個元素執行一次提供的函數創建一個新數組,其結果是該數組中的每個元素都調用一個提供的函數后返回的結果遍歷大家都熟悉,所以重點講一下與的區別相同點回調函數參數相同,都自帶三個屬性均不會修改原數組第二參數的 遍歷方法小結 常用的遍歷方法 for 遍歷 forEach(對數組的每個元素執行一次提供的函數) map(創建一個新數組,其結果是該數組中的每個...
閱讀 2434·2021-11-23 09:51
閱讀 2463·2021-11-11 17:21
閱讀 3105·2021-09-04 16:45
閱讀 2387·2021-08-09 13:42
閱讀 2224·2019-08-29 18:39
閱讀 2891·2019-08-29 14:12
閱讀 1294·2019-08-29 13:49
閱讀 3368·2019-08-29 11:17