最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript遍歷對象的五種常用方式總結(jié)

 更新時(shí)間:2025年05月02日 09:03:42   作者:人才程序員  
這篇文章主要介紹了JavaScript遍歷對象的五種常用方式,分別是for...in、Object.keys()+forEach()、Object.values()+forEach()、Object.entries()+forEach()和for...of+Object.entries(),文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下

前言

大家好呀!今天我們來聊一聊如何在 JavaScript 中遍歷一個(gè)對象。對象在 JavaScript 中是一個(gè)非常常見的數(shù)據(jù)類型,經(jīng)常用來存儲各種各樣的信息。如何從中提取數(shù)據(jù),或者對每一個(gè)屬性進(jìn)行操作呢?下面我們一起來看看5種常用的遍歷對象的方式吧!

1. for...in 循環(huán) 

for...in 是 JavaScript 最常用的一種遍歷對象屬性的方式。它會遍歷對象所有可枚舉的屬性,包括繼承的屬性。

例子:

const person = {
  name: "Alice",
  age: 25,
  job: "Engineer"
};

for (let key in person) {
  console.log(key, ": ", person[key]);
}

輸出:

name : Alice
age : 25
job : Engineer

這里需要注意的是,for...in 會遍歷對象的所有屬性(包括繼承來的屬性)。如果不希望遍歷繼承的屬性,我們可以加個(gè)判斷:

if (person.hasOwnProperty(key)) {
  // 只遍歷 person 自己的屬性
}

2. Object.keys() + forEach() 組合 

如果我們只對對象的“自有屬性”感興趣,可以使用 Object.keys() 來獲取所有的鍵(屬性名),然后配合 forEach() 來遍歷。

例子:

const person = {
  name: "Alice",
  age: 25,
  job: "Engineer"
};

Object.keys(person).forEach(key => {
  console.log(key, ": ", person[key]);
});

輸出:

name : Alice
age : 25
job : Engineer

Object.keys() 會返回對象的鍵名數(shù)組,而 forEach() 是數(shù)組的方法,所以可以用它來方便地遍歷每個(gè)鍵。

3. Object.values() + forEach() 組合 

如果你只關(guān)心對象的值,可以用 Object.values()。這個(gè)方法會返回一個(gè)數(shù)組,數(shù)組里包含對象的所有值。

例子:

const person = {
  name: "Alice",
  age: 25,
  job: "Engineer"
};

Object.values(person).forEach(value => {
  console.log(value);
});

輸出:

Alice
25
Engineer

4. Object.entries() + forEach() 組合 

Object.entries() 會返回一個(gè)包含對象鍵值對的二維數(shù)組。你可以通過這種方式既得到屬性名,又能得到屬性值,特別適合需要同時(shí)操作鍵和值的場景。

例子:

const person = {
  name: "Alice",
  age: 25,
  job: "Engineer"
};

Object.entries(person).forEach(([key, value]) => {
  console.log(key, ": ", value);
});

輸出:

name : Alice
age : 25
job : Engineer

這里 Object.entries(person) 會返回 [["name", "Alice"], ["age", 25], ["job", "Engineer"]],然后我們可以用解構(gòu)語法([key, value])來方便地訪問鍵和值。

5. for...of + Object.entries() 組合 

for...of 循環(huán)是對數(shù)組的遍歷非常友好的一種方法。如果你使用 Object.entries() 得到的是一個(gè)二維數(shù)組,我們可以用 for...of 來遍歷它。

例子:

const person = {
  name: "Alice",
  age: 25,
  job: "Engineer"
};

for (const [key, value] of Object.entries(person)) {
  console.log(key, ": ", value);
}

輸出:

name : Alice
age : 25
job : Engineer

for...of 循環(huán)會讓代碼更簡潔,也能夠更直觀地處理鍵值對。

總結(jié) 

  • for...in:遍歷對象的所有屬性,包括繼承的屬性,但可以通過 hasOwnProperty 排除繼承的屬性。
  • Object.keys():獲取對象的鍵名數(shù)組,結(jié)合 forEach() 遍歷。
  • Object.values():獲取對象的值數(shù)組,結(jié)合 forEach() 遍歷。
  • Object.entries():獲取對象的鍵值對數(shù)組,結(jié)合 forEach() 或 for...of 遍歷。

每種方法都有其特定的使用場景哦!你可以根據(jù)具體的需求來選擇最適合的方式。希望這篇文章能幫助你更好地掌握 JavaScript 中的對象遍歷!??

到此這篇關(guān)于JavaScript遍歷對象的五種常用方式的文章就介紹到這了,更多相關(guān)JS遍歷對象五種方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 下拉菜單既可以選擇,又可以自己填寫

    下拉菜單既可以選擇,又可以自己填寫

    下拉菜單既可以選擇,又可以自己填寫...
    2006-07-07
  • JavaScript運(yùn)算符小結(jié)

    JavaScript運(yùn)算符小結(jié)

    本文主要給大家詳細(xì)總結(jié)了下javascript中的運(yùn)算符,包括常見的算數(shù)運(yùn)算符、比較運(yùn)算符和邏輯運(yùn)算符。十分的清晰,有需要的小伙伴可以參考下。
    2015-06-06
  • 淺析Javascript的自動(dòng)分號插入(ASI)機(jī)制

    淺析Javascript的自動(dòng)分號插入(ASI)機(jī)制

    我們大家都知道在寫java和c時(shí),必須要在語句后加分號,否則編譯通不過。而js不同,存在自動(dòng)分好插入機(jī)制,下文簡稱ASI。它會給源代碼的 token 流自動(dòng)插入分號。下面這篇文章我們就來談?wù)凧avascript的自動(dòng)分號插入(ASI)機(jī)制。
    2016-09-09
  • js實(shí)現(xiàn)表格的隔行變色和上下移動(dòng)

    js實(shí)現(xiàn)表格的隔行變色和上下移動(dòng)

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)表格的隔行變色和上下移動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • javascript自定義加載loading效果

    javascript自定義加載loading效果

    這篇文章主要為大家詳細(xì)介紹了javascript自定義加載loading效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-09-09
  • 前端實(shí)現(xiàn)無感刷新Token的方法與避坑指南

    前端實(shí)現(xiàn)無感刷新Token的方法與避坑指南

    實(shí)現(xiàn)token無感刷新對于前端來說是一項(xiàng)非常常用的技術(shù),今天,我們就來徹底搞懂如何真正實(shí)現(xiàn)無感刷新Token以及為什么?90%?的實(shí)現(xiàn)都有致命缺陷
    2026-03-03
  • js數(shù)組與字符串常用方法總結(jié)

    js數(shù)組與字符串常用方法總結(jié)

    本文主要總結(jié)了js數(shù)組與字符串的常用方法。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01
  • javascript FormatNumber函數(shù)實(shí)現(xiàn)方法

    javascript FormatNumber函數(shù)實(shí)現(xiàn)方法

    如果有一個(gè)數(shù)字498.8573945,如何把它格式化成兩位小數(shù)據(jù)呢?用過asp的都知道,在vbscript里我們可以調(diào)用formatnumber,即用formatnumber(498.8573945,2)就可以輸出:498.86。
    2008-12-12
  • JavaScript作用域鏈?zhǔn)褂媒榻B

    JavaScript作用域鏈?zhǔn)褂媒榻B

    作用域就是變量和函數(shù)的可訪問范圍,控制著變量和函數(shù)的可見性與生命周期,在JavaScript中變量的作用域有全局作用域和局部作用域
    2013-08-08
  • 微信小程序如何修改radio和checkbox的默認(rèn)樣式和圖標(biāo)

    微信小程序如何修改radio和checkbox的默認(rèn)樣式和圖標(biāo)

    這篇文章主要介紹了微信小程序修改radio和checkbox的默認(rèn)樣式和圖標(biāo),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07

最新評論

随州市| 新绛县| 轮台县| 松潘县| 日土县| 柏乡县| 西乌| 中超| 富平县| 拉萨市| 林州市| 伊春市| 松桃| 东乌| 灵川县| 乃东县| 乐陵市| 兰西县| 沙田区| 嘉祥县| 平顺县| 来宾市| 元氏县| 建始县| 金平| 文山县| 安丘市| 南投县| 宁陵县| 龙江县| 云安县| 新宾| 依安县| 湟源县| 兴和县| 东平县| 南充市| 白银市| 闻喜县| 兰西县| 莱州市|