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

資訊專欄INFORMATION COLUMN

JS中幾種包含for的遍歷方式

jcc / 410人閱讀

摘要:區(qū)別遍歷數(shù)組常用調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)這種循環(huán)的問(wèn)題在于無(wú)法中途跳出循環(huán),和命令不能奏效和都返回?cái)?shù)組,返回的與原數(shù)組長(zhǎng)度相同只返回符合條件的結(jié)果一個(gè)值和返回布爾值遍歷對(duì)象所有的可枚舉屬性主要是為了遍歷對(duì)象而設(shè)計(jì)的,不適

forEach,map,filter區(qū)別
forEach

遍歷數(shù)組常用(調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù))

let arr = [1,2,3,4,5];
arr.forEach((i)=>{
    console.log(i);//1 2 3 4 5
});

這種循環(huán)的問(wèn)題在于無(wú)法中途跳出循環(huán),break和return命令不能奏效.
map和filter都返回?cái)?shù)組,map返回的與原數(shù)組長(zhǎng)度相同

map
let arr = ["a","b","c","d"];
let newArr = arr.map((val,key)=>{
    if(val=="c"){
        return val;}
});
console.log(newArr);//[undefined,undefined,"c",undefined];
filter
let arr = ["a","b","c","d"];
let newArr = arr.filter((val,key)=>{
    if(val=="c"){
        return val;
        }
});
console.log(newArr);//["c"]

只返回符合條件的結(jié)果一個(gè)值
every和some返回布爾值

for-in

遍歷對(duì)象所有的可枚舉屬性(主要是為了遍歷對(duì)象而設(shè)計(jì)的,不適用于遍歷數(shù)組)功能類似于Object.keys().

let obj = {
    name:"xiaoming",
    age:15
}
for(let item in obj){
    console.log(item);//name age
}

不可枚舉的對(duì)象:如constructor,數(shù)組的length

let arr = [10, 20, 30, 40, 50];
 
for (let item in arr) {
    console.log(item); // "0" "1" "2" "3" "4"
}

數(shù)組的鍵名是數(shù)字,但是for-in循環(huán)是以字符串作為鍵名‘0’、‘1’、‘2’等.

for-of

所有實(shí)現(xiàn)了[Symbol.iterator]接口的對(duì)象都可以被遍歷。可以使用的范圍包括數(shù)組、Set 和 Map 結(jié)構(gòu)、某些類似數(shù)組的對(duì)象(比如arguments對(duì)象、DOM NodeList 對(duì)象)、Generator 對(duì)象,以及字符串
for..of獲取索引
.entries()返回鍵值對(duì)
.keys()返回鍵名
.values()返回鍵值
類似數(shù)組的對(duì)象:如字符串DOM NodeList 對(duì)象、arguments對(duì)象等

let str = "hi";
for(let i of str){
    console.log(s);
}//h i

let item = document.querySelectorAll("p");
for(let a of item){
    a.classList.add("test");
}

(function(){
    for(let x of arguments){
        console.log(x);
    }
})("a","b");
//"a"
//"b"

并非所有類似數(shù)組的對(duì)象都有iterator接口,使用Array.from()將其轉(zhuǎn)化為數(shù)組

let ar = {length:2,0:"a",1:"b"};
for(let i of ar){
    console.log(i);//報(bào)錯(cuò)
}

for(let i of Array.from(ar)){
    consle.log(i);//"a" "b"
}

普通對(duì)象不能直接使用for-of會(huì)報(bào)錯(cuò),因?yàn)闆](méi)有iterator接口,for-in可以直接使用,若非要使用for-of需要使用Object.keys方法將鍵名生成一個(gè)數(shù)組,然后遍歷這個(gè)數(shù)組。

for(let key of Object.keys(obj)){
    console.log(key+" "+obj[key]);
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/95565.html

相關(guān)文章

  • js幾種跨域方法

    摘要:四通過(guò)跨域一個(gè)頁(yè)面嵌入一個(gè)外域的頁(yè)面雖然兩個(gè)窗體之前能獲取彼此的對(duì)象,但是卻拿不到上的屬性和方法,例如一個(gè)頁(yè)面嵌入一個(gè)的我是父窗體的方法嵌入的窗體跟的域名不同,很明顯是跨域的,雖然能獲取到對(duì)象,但是拿不到頁(yè)面的任何方法和屬性。 js跨域是指通過(guò)js在不同域之間進(jìn)行相互通信或者數(shù)據(jù)傳輸,只要協(xié)議,域名,端口號(hào)其中有一個(gè)不同,就是跨域。下面總結(jié)一下我了解到的常用的跨域方法。 一:通過(guò)jso...

    XboxYan 評(píng)論0 收藏0
  • JS篇-遍歷對(duì)象屬性(for in、Object.keys、Object.getOwnPropert

    摘要:中幾種遍歷對(duì)象的方法,包括它們?cè)谑褂脠?chǎng)景方面各有不同。主要用于遍歷對(duì)象的可枚舉屬性,包括自有屬性繼承自原型的屬性輸出如下返回一個(gè)數(shù)組,元素均為對(duì)象自有的可枚舉屬性輸出如下用于返回對(duì)象的自有屬性,包括可枚舉和不可枚舉的輸出如下 js中幾種遍歷對(duì)象的方法,包括for in、Object.keys、Object.getOwnProperty,它們?cè)谑褂脠?chǎng)景方面各有不同。 for in 主要用...

    sunnyxd 評(píng)論0 收藏0
  • 通過(guò)面試題,讓我們來(lái)了解Collection

    摘要:說(shuō)一說(shuō)迭代器通過(guò)集合對(duì)象獲取其對(duì)應(yīng)的對(duì)象判斷是否存在下一個(gè)元素取出該元素并將迭代器對(duì)象指向下一個(gè)元素取出元素的方式迭代器。對(duì)于使用容器者而言,具體的實(shí)現(xiàn)不重要,只要通過(guò)容器獲取到該實(shí)現(xiàn)的迭代器的對(duì)象即可,也就是方法。 前言 歡迎關(guān)注微信公眾號(hào):Coder編程獲取最新原創(chuàng)技術(shù)文章和相關(guān)免費(fèi)學(xué)習(xí)資料,隨時(shí)隨地學(xué)習(xí)技術(shù)知識(shí)!** 本章主要介紹Collection集合相關(guān)知識(shí),結(jié)合面試中會(huì)提到...

    HelKyle 評(píng)論0 收藏0
  • 談?wù)刯ava幾種常見(jiàn)散列算法及解決哈希碰撞方式

    摘要:接下來(lái)分析幾個(gè)常見(jiàn)的實(shí)現(xiàn)方式。再哈希法再哈希法,就是出現(xiàn)沖突后采用其他的哈希函數(shù)計(jì)算,直到不再?zèng)_突為止。,其中為不同的哈希函數(shù)。 由表及里,循序漸進(jìn),請(qǐng)往下看。隨手點(diǎn)贊是對(duì)作者最大的鼓勵(lì)!^0^。 什么是哈希表 引用:嚴(yán)蔚敏 《數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)》中的內(nèi)容 showImg(https://segmentfault.com/img/bVZlmE?w=800&h=364); 哈希表就是 ...

    沈建明 評(píng)論0 收藏0
  • CSS幾種常用選擇器

    摘要:類和的背景顏色都為白色大于號(hào)指子代元素子代選擇器類下的類元素的背景顏色為白色空格指后代元素后代選擇器類下的所有類元素的背景顏色為白色與子代選擇器不同,后代選擇器可以包含下的所有元素,包括子孫加號(hào)指相鄰元素相鄰選擇器緊接在類下的類元素的 類a和b的背景顏色都為白色 大于號(hào)‘ > ’指子代元素(子代選擇器) .a>.b{ background-color:#fff; } 類a下的類...

    趙連江 評(píng)論0 收藏0

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

0條評(píng)論

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