语法:
Object.entries(obj)
参数:
obj:可以返回其可枚举属性的键值对的对象
返回值:
给定对象自身可枚举属性的键值对数组
Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for…in循环遍历该对象时返回的顺序一致。区别在于for
in 会枚举原型链上的属性。
eg:
let per = {
name:'zdx',
age: 18
}
for(let [key,value] of Object.entries(per)){
console.log(key,value);
}
//name,zdx
//age,18
注意:其返回数组属性的顺序与通过手动循环对象的属性值给出的顺序相同
const anObj = { 100: 'a', 2: 'b', 7: 'c' };
console.log(Object.entries(anObj)); // [ ['2', 'b'], ['7', 'c'], ['100', 'a'] ]
var socketMaps = {
"keya": {
"1": "abc",
"a": "123"
},
"keyb": {
"2": "abc1",
"aa": "123123"
}
};
function getAllUsers() {
let allUsers = [];
for(let [key, value] of Object.entries(socketMaps)){
allUsers.push({
id: key,
...value
});
}
return allUsers;
}
console.log("\n getAllUsers =", getAllUsers());