js遍歷對象key和value實戰(zhàn)舉例
聲明一個對象:
let obj = { name: 'Kamen', age: '23', hobby: 'eat eat eat' }
方法一:轉(zhuǎn)化為操作數(shù)組forEach遍歷
遍歷對象屬性
//遍歷對象屬性 Object.keys(obj).forEach(key => { console.log(key) })
關(guān)于Object.keys()方法Object.keys() 方法會返回一個由一個給定對象的自身可枚舉屬性組成的數(shù)組,數(shù)組中屬性名的排列順序和正常循環(huán)遍歷該對象時返回的順序一致。
例子
// 簡單數(shù)組 const arr = ['a', 'b', 'c']; console.log(Object.keys(arr)); // console: ['0', '1', '2'] // 類數(shù)組對象 const obj = { 0: 'a', 1: 'b', 2: 'c' }; console.log(Object.keys(obj)); // console: ['0', '1', '2'] // 具有隨機(jī)鍵順序的類數(shù)組對象 const anObj = { 100: 'a', 2: 'b', 7: 'c' }; console.log(Object.keys(anObj)); // console: ['2', '7', '100'] // getFoo 是一個不可枚舉的屬性 const myObj = Object.create({}, { getFoo: { value() { return this.foo; } } }); myObj.foo = 1; console.log(Object.keys(myObj)); // console: ['foo']
遍歷對象屬性值
//遍歷對象屬性值 Object.values(obj).forEach(val => { console.log(val) })
關(guān)于Object.values()方法object .values()靜態(tài)方法返回給定對象自己的可枚舉字符串鍵屬性值的數(shù)組。
例子
const obj = { foo: "bar", baz: 42 }; console.log(Object.values(obj)); // ['bar', 42] // Array-like object const arrayLikeObj1 = { 0: "a", 1: "b", 2: "c" }; console.log(Object.values(arrayLikeObj1)); // ['a', 'b', 'c'] // Array-like object with random key ordering // When using numeric keys, the values are returned in the keys' numerical order const arrayLikeObj2 = { 100: "a", 2: "b", 7: "c" }; console.log(Object.values(arrayLikeObj2)); // ['b', 'c', 'a'] // getFoo is a non-enumerable property const myObj = Object.create( {}, { getFoo: { value() { return this.foo; }, }, }, ); myObj.foo = "bar"; console.log(Object.values(myObj)); // ['bar']
方法二:for/in遍歷
for( let key in obj ){ //遍歷對象屬性 console.log(key) //遍歷對象屬性值 console.log(obj[key]) }
注意:該方法會繼承原型鏈的所有屬性,例如:
Object.prototype.pet = 'open' for( let key in obj ){ console.log(key) console.log(obj[key]) } console.log(obj)
上述情況可以使用hasOwnProperty避免:
Object.prototype.pet = 'open' for( let key in obj ){ if (obj.hasOwnProperty(key) === true){ console.log(key) console.log(obj[key]) } } console.log(obj)
總結(jié)
到此這篇關(guān)于js遍歷對象key和value的文章就介紹到這了,更多相關(guān)js遍歷對象key和value內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
react-router-dom?v6?通過outlet實現(xiàn)keepAlive?功能的實現(xiàn)
本文主要介紹了react-router-dom?v6?通過outlet實現(xiàn)keepAlive功能,文中根據(jù)實例編碼詳細(xì)介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03Bootbox將后臺JSON數(shù)據(jù)填充Form表單的實例代碼
通過控制器創(chuàng)建一個Index視圖,寫入下列HTML代碼,這里我創(chuàng)建了一個分部視圖,不創(chuàng)建直接寫在同一個頁面也是一樣的效果。這篇文章主要介紹了Bootbox將后臺JSON數(shù)據(jù)填充Form表單 ,需要的朋友可以參考下2018-09-09JavaScript運(yùn)動框架 解決速度正負(fù)取整問題(一)
這篇文章主要為大家詳細(xì)介紹了JavaScript運(yùn)動框架的第一部分,解決速度正負(fù)取整問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05JavaScript實現(xiàn)表單注冊、表單驗證、運(yùn)算符功能
在本篇文章里我們給大家整理了關(guān)于JavaScript中表單注冊、表單驗證、運(yùn)算符的代碼示例,有興趣的朋友們可以測試學(xué)習(xí)下。2018-10-10