摘要:有用到對(duì)象的轉(zhuǎn)換成數(shù)組,然后又想到了遍歷方法,所以,也想記錄下終止或者跳出循環(huán)跳出循環(huán)體所在循環(huán)體已結(jié)束跳出本次循環(huán),進(jìn)行下一次循環(huán),所在的循環(huán)體未結(jié)束終止函數(shù)執(zhí)行只輸出,,,到就跳出循環(huán)了不輸出,因?yàn)樘^(guò)了,直接進(jìn)入下一次循環(huán)遍歷方法假數(shù)
有用到object對(duì)象的轉(zhuǎn)換成數(shù)組,然后又想到了遍歷方法,所以,也想記錄下1. 終止或者跳出循環(huán)
break跳出循環(huán)體,所在循環(huán)體已結(jié)束
continue跳出本次循環(huán),進(jìn)行下一次循環(huán),所在的循環(huán)體未結(jié)束
return 終止函數(shù)執(zhí)行
for (let i = 0; i < 5; i++) { if (i == 3) break; console.log("The number is " + i); /* 只輸出 0 , 1 , 2 , 到3就跳出循環(huán)了 */ } for (let i = 0; i <= 5; i++) { if (i == 3) continue; console.log("The number is " + i); /* 不輸出3,因?yàn)閏ontinue跳過(guò)了,直接進(jìn)入下一次循環(huán) */ }2.遍歷方法
假數(shù)據(jù)
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循環(huán)遍歷
for(let i = 0; i < length; i++) { console.log(temporaryArray[i]); }
for in 循環(huán)
/* for in 循環(huán)主要用于遍歷普通對(duì)象, * 當(dāng)用它來(lái)遍歷數(shù)組時(shí)候,也能達(dá)到同樣的效果, * 但是這是有風(fēng)險(xiǎn)的,因?yàn)?i 輸出為字符串形式,而不是數(shù)組需要的數(shù)字下標(biāo), * 這意味著在某些情況下,會(huì)發(fā)生字符串運(yùn)算,導(dǎo)致數(shù)據(jù)錯(cuò)誤 * */ for(let i in temporaryObject) { /* hasOwnProperty只加載自身屬性 */ if(temporaryObject.hasOwnProperty(i)) { console.log(temporaryObject[i]); } }
for of 循環(huán),用于遍歷可迭代的對(duì)象
for(let i of temporaryArray) { console.log(i); }
forEach 第一個(gè)值為數(shù)組當(dāng)前索引的值,第二個(gè)為索引值,只能遍歷數(shù)組,無(wú)返回值,也無(wú)法跳出循環(huán)
let a = temporaryArray.forEach(function(item, index) { console.log(index, item); });
map 返回新數(shù)組,只能遍歷數(shù)組
temporaryArray.map(function(item) { console.log(item); });
filter 是數(shù)組的內(nèi)置對(duì)象,不改變?cè)瓟?shù)組,有返回值
temporaryArray.filter(function(item) { console.log(item%2 == 0); });
some判斷是否有符合的值
let newArray = temporaryArray.some(function(item) { return item > 1; }); console.log(newArray);
every判斷數(shù)組里的值是否全部符合條件
let newArray1 = temporaryArray.every(function(item) { return item > 6; }); console.log(newArray1);
reduce(function(accumulator, currentValue, currentIndex, array) {}, initValue)
accumulator:初始值或者累加計(jì)算結(jié)束后的返回值, currentValue遍歷時(shí)的當(dāng)前元素值,currentIndex當(dāng)前索引值,array當(dāng)前數(shù)組
initValue為初始值,若不添加參數(shù)initValue,則accumulator為當(dāng)前數(shù)組的第一個(gè)元素值,若添加,則accumulator為initValue值,累加器accumulator從initValue開(kāi)始運(yùn)算
let temporaryObject3 = {}; let newArray2 = objectArray.reduce(function(countArray, currentValue) { /* 利用temporaryObject3里存放id來(lái)判斷原數(shù)組里的對(duì)象是否相同,若id相同,則繼續(xù)下一步,不同則將該對(duì)象放入新數(shù)組中 * 則countArray為去重后的數(shù)組 * */ temporaryObject3[currentValue.id] ? "" : temporaryObject3[currentValue.id] = true && countArray.push(currentValue); return countArray; }, []); console.log(newArray2);
正在努力學(xué)習(xí)中,若對(duì)你的學(xué)習(xí)有幫助,留下你的印記唄(點(diǎn)個(gè)贊咯^_^)
往期好文推薦:
判斷ios和Android及PC端
實(shí)現(xiàn)文字的省略號(hào)
css實(shí)現(xiàn)波浪線及立方體
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/98672.html
摘要:前言本篇文章是在二叉排序樹(shù)的基礎(chǔ)上進(jìn)行遍歷查找與刪除結(jié)點(diǎn)。接下來(lái)我們根據(jù)構(gòu)造的這顆二叉樹(shù)進(jìn)行相應(yīng)遍歷查找與刪除操作。遍歷二叉樹(shù)二叉樹(shù)的遍歷分為深度優(yōu)先遍歷和廣度優(yōu)先遍歷。中序遍歷二叉排序樹(shù),得到的數(shù)組是有序的且是升序的。 前言 本篇文章是在二叉排序樹(shù)的基礎(chǔ)上進(jìn)行遍歷、查找、與刪除結(jié)點(diǎn)。 那么首先來(lái)看一下什么是二叉排序樹(shù)? 二叉排序樹(shù) 定義 二叉排序樹(shù),又稱(chēng)二叉查找樹(shù)、二叉搜索樹(shù)。 若...
摘要:就稱(chēng)為部署了遍歷器接口。是一個(gè)函數(shù),調(diào)用它會(huì)生成一個(gè)遍歷器對(duì)象。它的屬性,也是一個(gè)遍歷器對(duì)象生成函數(shù),執(zhí)行后返回它自己。返回遍歷器對(duì)象。下面是一個(gè)無(wú)限運(yùn)行的遍歷器對(duì)象的例子。 『ES6知識(shí)點(diǎn)總結(jié)』遍歷器iterator本文內(nèi)容如下: 1 具有iterator接口的數(shù)據(jù)結(jié)構(gòu) 2 遍歷器過(guò)程 3 遍歷器作用: 4 模擬next()方法 5 使用while循環(huán) 6 TypeScript的寫(xiě)法...
摘要:遍歷器原有的表示集合的數(shù)據(jù)結(jié)構(gòu),主要有和,在中又加入了和,這樣就有了四種數(shù)據(jù)集合,還可以組合使用它們,如數(shù)組的成員是或,這樣就需要一種統(tǒng)一的接口機(jī)制,用來(lái)處理所有不同的數(shù)據(jù)結(jié)構(gòu)。 showImg(https://segmentfault.com/img/remote/1460000018998438?w=900&h=431); 閱讀原文 Generators 簡(jiǎn)介 Generato...
摘要:已知中序遍歷和后序遍歷中序遍歷后序遍歷根據(jù)中序和后序遍歷確定二叉樹(shù),跟上面的方法類(lèi)似,不過(guò)這次是根據(jù)后序遍歷確定根節(jié)點(diǎn),根據(jù)中序遍歷確定左右子樹(shù)。 二叉樹(shù)的遍歷 一、遍歷方法 三種遍歷方法,很好記,什么時(shí)候訪問(wèn)根節(jié)點(diǎn)就叫什么方法。如:先序遍歷,肯定就是先訪問(wèn)根節(jié)點(diǎn);中序遍歷,就是中間訪問(wèn)根節(jié)點(diǎn);后序遍歷就是最后訪問(wèn)根節(jié)點(diǎn)。 1、先序遍歷:首先訪問(wèn)根節(jié)點(diǎn),然后先序遍歷左子樹(shù),最后先序遍歷...
摘要:由于中引入了許多數(shù)據(jù)結(jié)構(gòu)算上原有的包括等等數(shù)組需要一個(gè)東西來(lái)管理他們這就是遍歷器。數(shù)組默認(rèn)遍歷器遍歷值相當(dāng)于依次輸出依次輸出依次輸出依次輸出不難看出默認(rèn)得到值而只能得到索引。即遍歷器的本質(zhì)就是一個(gè)指針。 由于 ES6 中引入了許多數(shù)據(jù)結(jié)構(gòu), 算上原有的包括Object, Array, TypedArray, DataView, buffer, Map, WeakMap, Set, We...
摘要:遍歷方法小結(jié)常用的遍歷方法遍歷對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)元素都調(diào)用一個(gè)提供的函數(shù)后返回的結(jié)果遍歷大家都熟悉,所以重點(diǎn)講一下與的區(qū)別相同點(diǎn)回調(diào)函數(shù)參數(shù)相同,都自帶三個(gè)屬性均不會(huì)修改原數(shù)組第二參數(shù)的 遍歷方法小結(jié) 常用的遍歷方法 for 遍歷 forEach(對(duì)數(shù)組的每個(gè)元素執(zhí)行一次提供的函數(shù)) map(創(chuàng)建一個(gè)新數(shù)組,其結(jié)果是該數(shù)組中的每個(gè)...
閱讀 2439·2021-11-23 09:51
閱讀 2471·2021-11-11 17:21
閱讀 3111·2021-09-04 16:45
閱讀 2397·2021-08-09 13:42
閱讀 2230·2019-08-29 18:39
閱讀 2898·2019-08-29 14:12
閱讀 1299·2019-08-29 13:49
閱讀 3373·2019-08-29 11:17