Object.entries仅给出第一个对象

时间:2018-10-24 09:01:19

标签: javascript node.js

这是我的对象

var obj = {
"first_obj": {
    "a":1,
    "status": 1
},
"second_obj": {
    "a":2,
    "status": 3
 }
}

我正在尝试使用foreach和object.entries遍历此对象,但是我的object.entries仅给我第一个对象?

console.log(Object.entries(obj)) = [
[
    "$init",
    true
],
[
    "first_obj",
    {
        "a": 1,
        "status": 1
    }
]
];

为什么不给我第二个对象,我怎么得到第二个对象?

var obj = {
"first_obj": {
    "a":1,
    "status": 1
},
"second_obj": {
    "a":2,
    "status": 3
 }
}
console.log(Object.entries(obj));

2 个答案:

答案 0 :(得分:0)

Object.entries()在您的代码示例中工作正常。

我认为您想遍历对象key,为此可以使用Object.keys()

const obj = {
  "first_obj": {
    "a":1,
    "status": 1
  },
  "second_obj": {
    "a":2,
    "status": 3
   }
};


Object.keys(obj).forEach(k => {
  console.log(`${k}: a = ${obj[k].a}, status = ${obj[k].status}`);
});

答案 1 :(得分:0)

我通过添加obj.toJSON();来解决此问题,因为猫鼬没有给我提供JSON所需的结果。