成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

遍歷方法

miqt / 2362人閱讀

摘要:有用到對(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

相關(guān)文章

  • 二叉樹(shù)遍歷

    摘要:前言本篇文章是在二叉排序樹(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ù)。 若...

    aboutU 評(píng)論0 收藏0
  • 【ES6腳丫系列】遍歷器iterator

    摘要:就稱(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ě)法...

    keke 評(píng)論0 收藏0
  • 異步發(fā)展流程 —— Generators + co 讓異步更優(yōu)雅

    摘要:遍歷器原有的表示集合的數(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...

    dingda 評(píng)論0 收藏0
  • 二叉樹(shù)遍歷問(wèn)題

    摘要:已知中序遍歷和后序遍歷中序遍歷后序遍歷根據(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ù),最后先序遍歷...

    missonce 評(píng)論0 收藏0
  • ECMAScript6(14):iterator 迭代器

    摘要:由于中引入了許多數(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...

    toddmark 評(píng)論0 收藏0
  • JavaScript 中遍歷方法小結(jié)

    摘要:遍歷方法小結(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è)...

    flyer_dev 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<