Javascript 迭代嵌套的JSON对象并将数据附加到变量

Javascript 迭代嵌套的JSON对象并将数据附加到变量,javascript,lodash,Javascript,Lodash,我对JS非常陌生,我在迭代嵌套JSON对象方面有点困难 我需要在history中获取每个嵌套的Node\u Subtask\u Success的值,并将其保存到一个变量中,以便稍后访问 该数据集相当大,因此我不会将其直接添加到本文中,但我已将其上载到pastebin: 到目前为止,我所尝试的: updateData: function() { axios .get('http://localhost/api/node/839b655

我对JS非常陌生,我在迭代嵌套JSON对象方面有点困难

我需要在
history
中获取每个嵌套的
Node\u Subtask\u Success
的值,并将其保存到一个变量中,以便稍后访问

该数据集相当大,因此我不会将其直接添加到本文中,但我已将其上载到pastebin:

到目前为止,我所尝试的:

updateData: function() {
                axios
                .get('http://localhost/api/node/839b6556940b19cf9651d0ff7ed08c1154d42b8ef2ef0bda92ffd188d9c82aa0600504389a10f54429c6f83d8cfd58c3e9be1598a4592f37ddd8cd3b3adb9cba')
                .then((response) => {
                    _.each(response.data, function(node) {
                      for(var num in response.data.history) {
                        console.log(num.Node_Subtask_Success)
                      }
                    });
                })
            },

但是上面只打印了269次未定义的数据。

您希望迭代
历史记录
数组,所以您应该这样做,而且只能这样做。这里不需要多次迭代

updateData:function(){
axios
.get('http://localhost/api/node/839b6556940b19cf9651d0ff7ed08c1154d42b8ef2ef0bda92ffd188d9c82aa0600504389a10f54429c6f83d8cfd58c3e9be1598a4592f37ddd8cd3b3adb9cba')
。然后((响应)=>{
_.每个(响应、数据、历史记录、功能(节点){
console.log(num.Node\u子任务\u成功)
});
})
},
如果您想使用vanilla JavaScript执行此操作:

updateData:function(){
axios
.get('http://localhost/api/node/839b6556940b19cf9651d0ff7ed08c1154d42b8ef2ef0bda92ffd188d9c82aa0600504389a10f54429c6f83d8cfd58c3e9be1598a4592f37ddd8cd3b3adb9cba')
。然后((响应)=>{
for(响应中的hist.data.history){
console.log(历史节点\子任务\成功)
});
})
},
这背后的原因将以这种方式提取属性名称:

for…in
语句遍历由字符串设置键控的对象的所有可枚举属性(忽略由符号设置键控的属性),包括继承的可枚举属性

您可以做些什么:

const历史=[
{
“id”:539,
“节点_核心”:1,
“节点子任务成功”:856,
}
];
历史。forEach(e=>{
日志(例如节点\子任务\成功);

});首先,您似乎在做一个循环中的一个循环<代码>\每个
()迭代一个数组。您迭代
response.data
,它是一个对象,而不是数组

您应该迭代
response.data.history
。像这样

updateData: function() {
    axios.get('http://localhost/api/node/839b6556940b19cf9651d0ff7ed08c1154d42b8ef2ef0bda92ffd188d9c82aa0600504389a10f54429c6f83d8cfd58c3e9be1598a4592f37ddd8cd3b3adb9cba')
    .then((response) => {
        _.each(response.data.history, (historyElement) => {
            //your element here
            console.log(historyElement.Node_Subtask_Success)
        });

};