有用到object對象的轉換成數組,而後又想到了遍歷方法,因此,也想記錄下
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跳過了,直接進入下一次循環 */ }
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(let i = 0; i < length; i++) { console.log(temporaryArray[i]); }
/* for in 循環主要用於遍歷普通對象, * 當用它來遍歷數組時候,也能達到一樣的效果, * 可是這是有風險的,由於 i 輸出爲字符串形式,而不是數組須要的數字下標, * 這意味着在某些狀況下,會發生字符串運算,致使數據錯誤 * */ for(let i in temporaryObject) { /* hasOwnProperty只加載自身屬性 */ if(temporaryObject.hasOwnProperty(i)) { console.log(temporaryObject[i]); } }
for(let i of temporaryArray) { console.log(i); }
let a = temporaryArray.forEach(function(item, index) { console.log(index, item); });
temporaryArray.map(function(item) { console.log(item); });
temporaryArray.filter(function(item) { console.log(item%2 == 0); });
let newArray = temporaryArray.some(function(item) { return item > 1; }); console.log(newArray);
let newArray1 = temporaryArray.every(function(item) { return item > 6; }); console.log(newArray1);
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);
正在努力學習中,若對你的學習有幫助,留下你的印記唄(點個贊咯^_^)
往期好文推薦:css