數(shù)組,對象,map相關(guān)操作集錦

對象

  • 使用object.keys() 和object.values()
const obj = {
    name: 'xiao',
    age: 1
}
console.log(Object.keys(obj))  // [ 'name', 'age' ]
console.log(Object.values(obj)) // [ 'xiao', 1 ]
  • 使用for..in
const obj = {
    name: 'xiao',
    age: 1
}
for (const key in obj) {
    if (Object.hasOwnProperty.call(obj, key)) { // 判斷是否定義到對象本身而不是繼承原型鏈
        const element = obj[key];
        console.log(key) // name  age
        console.log(element) // xiao   1
    }
}
  • Object.getOwnPropertyNames()
const obj = {
    name: 'xiao',
    age: 1
}
console.log(Object.getOwnPropertyNames(obj)) // [ 'name', 'age' ]

/**
 * 注意:Object.getOwnPropertyNames()與Object.keys()的區(qū)別
 *  Object.getOwnPropertyNames包含對象所有的自身屬性,包含不可枚舉屬性 但不包含繼承屬性和symbol
 *  Object.keys() 包含對象自有可枚舉屬性
 */
  • Reflect.ownKeys()
const obj = {
   name: 'xiao',
   age: 1
}
console.log(Reflect.ownKeys(obj))

/**
* Reflect.ownKeys() 返回屬性所有的key 包括symbol和不可枚舉的屬性
*/

map

  • forEach()
let map = new Map()
map.set('name','xiao')
map.set('age',1)
map.forEach((value,key) => {
    console.log(key,":",value)  // name : xiao   age : 1
});
  • for...of
let map = new Map()
map.set('name','xiao')
map.set('age',1)
for (const iterator of map) {
    console.log('key:'+ iterator[0]+ '   value: '+ iterator[1]) // key:name value: xiao key:age value: 1
}
for (const iterator of map.values()) {
    console.log(iterator) // xiao 1
}
for (const iterator of map.keys()) {
    console.log(iterator) // name  age
}
  • entries
let map = new Map()
map.set('name','xiao')
map.set('age',1)
for (const iterator of map.entries()) {
    console.log(iterator) // [ 'name', 'xiao' ]  [ 'age', 1 ]
}

數(shù)組

js數(shù)組常用方法與屬性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容