彙總遍歷物件的六種方式及其區別 值得一看

2022-03-08 10:52:33 字數 1960 閱讀 4371

彙總遍歷物件的六種方式及其區別

遍歷物件屬性方式千千萬,奈何網上資料亂又亂!

本文彙總了遍歷物件的各種方式以及各種方式的差異性,收藏好。以後遇到深淺轉殖等功能時說不定能用上。還請客官點個贊再走。

下面列印的結果都是基於該資料來源進行

let person = 

let human =

// human增加屬性: symbol

let width = symbol();

human[width] = 177;

// 設定prototype為human

object.setprototypeof(person, human);

// person增加屬性:不可列舉 age

object.defineproperty(person, "age", );

// person增加屬性:symbol height

let height = symbol();

person[height] = 177;

目錄

// 方式一: for in

console.log('----for...in-----')

for(let key in person)

列印結果:

name、eat

// 方式二:object.keys

console.log('-----object.keys-------')

let keys = object.keys(person);

for(let i = 0; i < keys.length; i++)

列印結果:

name

// 方式三:object.keys

console.log('-----object.getownpropertynames-------')

let ownpropertynames = object.getownpropertynames(person);

for(let i = 0; i < ownpropertynames.length; i++)

列印結果:

name 、 age

// 方式三:object.keys

console.log('-----object.getownpropertysymbols-------')

let ownpropertysymbols = object.getownpropertysymbols(person);

for(let i = 0; i < ownpropertysymbols.length; i++)

列印結果:symbol

// 方式五:reflect.ownkeys

console.log('-----reflect.ownkeys-------')

let ownkeys = reflect.ownkeys(person);

for(let i = 0; i < ownkeys.length; i++)

列印結果:

name, age, symbol

// 方式六:object.entries

console.log('-----object.entries-------')

let entries = object.entries(person);

for (const [key, value] of entries) : $`);

}

列印結果:

name: tony

建立物件六種方式

newobject var x age var obj new object obj.name gao obj.x 18 字串 obj x 16 變數 console.log obj 字面量 物件 中 proto 函式 中 prototype var x hooby var obj obj.男 ob...

Map集合的六種遍歷方式

熟練掌握map的遍歷方式 需求 遍歷map集合 如下 package com.yy.object.test.test collection import j a.util.author yanyang projectname day02 description todo date 2021 3 30...

PHP 建立物件的六種方式

class demo public function getobj public function getstaticobj class demo1 extends demo echo 1.用new 類名 建立乙個物件 obj new demo 2.將類名以字串的方式放在乙個變數中 classnam...