JS遍歷物件屬性的一些方法

2021-10-23 02:55:35 字數 1395 閱讀 7783

靜態方法reflect.ownkeys()返回乙個由目標物件自身的屬性鍵組成的陣列。

object.entries()方法返回乙個給定物件自身可列舉屬性的鍵值對陣列,其排列與使用for...in迴圈遍歷該物件時返回的順序一致(區別在於for-in迴圈還會列舉原型鏈中的屬性)。

object.fromentries()方法把鍵值對列表轉換為乙個物件。

object.is()方法判斷兩個值是否是相同的值。

如果下列任何一項成立,則兩個值相同:

這種相等性判斷邏輯和傳統的==運算不同:

==運算子會對它兩邊的運算元做隱式型別轉換(如果它們型別不同),然後才進行相等性比較,(所以才會有類似"" == false等於true的現象),但object.is不會做這種型別轉換。

這與全等===運算子的判定方式也不一樣。

===運算子(和==運算子)將數字值-0+0視為相等,並認為number.nan不等於nan

object.is(

'foo'

,'foo');

// true

object.

is(window, window)

;// true

object.is(

'foo'

,'bar');

// false

object.is(

,[])

;// false

var foo =

;var bar =

;object.

is(foo, foo)

;// true

object.

is(foo, bar)

;// false

object.is(

null

,null);

// true

// 特例

object.is(

0,-0

);// false

object.is(

0,+0

);// true

object.is(

-0,-

0);// true

object.is(

nan,0/

0);// true

整理遍歷物件屬性一些方法

1 for in for in迴圈遍歷物件自身和繼承的可列舉屬性 不含symbol屬性 let obj for let attr in obj 2 object.keys obj object.keys返回乙個陣列,包括物件自身的 不含繼承的 所有可列舉屬性 不含 symbol 屬性 的鍵名。let...

JS中的一些遍歷方法

以下遍歷方法中for迴圈效能最好,而且優化版for迴圈效能最高。只有foreach不能跳出迴圈。在迴圈陣列時,如果在迴圈過程中對陣列進行了增刪改,那麼在後面的每次迴圈中,進行操作的都是已經修改過後的陣列。let arr a b c d for let i 0 i arr.length i conso...

JS物件繼承的一些方法

由於引用型別 陣列 物件 是按位址傳遞,直接拷貝是淺拷貝,即修改拷貝後的變數,原變數也會改變。有時需要深拷貝乙個物件,這時就需要遍歷徹底複製,使原物件和拷貝物件完全脫離關係。建立例項物件 var o var a object.create o a.color blue a.arr.push 2 co...