如何打印對象中所有的鍵和值,Object.keys()和Object.values()的使用


如果有這樣一個需求,打印對象中所有的鍵和值:

var person = {
name: '張三',
age: 18,
2: '2',
11: '11'
};
1.使用for in:
for(var key in person){
console.log(key);
}
//2 11 age name

2.使用js提供的方法 Object.keys():
console.log(Object.keys(person));
//["2","11","name","age"]

 

 

 

3.使用js提供的方法 Object.values():
console.log(Object.values(person));
//["2","11","張三","18"]

 

 

4.拓展

  從上面的Object.keys() 打印結果看,打印結果給我們自動排序了,並且和for in 的排序一樣。

這是因為 Object.keys在內部會根據屬性名key的類型進行不同的排序邏輯。分三種情況:

  1. 如果屬性名的類型是Number,那么Object.keys返回值是按照key從小到大排序
  2. 如果屬性名的類型是String,那么Object.keys返回值是按照屬性被創建的時間升序排序。
  3. 如果屬性名的類型是Symbol,那么邏輯同String相同

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM