我是node.js的新手并且不可否认我可能正在努力学习,但我使用以下代码解析json,在相应{{1}时查找id
包含name
。 uuid
从另一个函数传递。
uuid
我希望这会返回类似var arrFound = Object.values(json).filter(function(obj) {
return obj.id && obj.name.includes(uuid);
}).map(function(obj) {
return obj.id;
});
console.log (arrFound); // array of matched id values
的内容。
相反,我得到了这个:
[ 'local-1517085058363' ]
json来自Spark HistoryServer API(http://127.0.0.1:18080/api/v1/applications),虽然它只是JSON,所以它不应该来自哪里。这是一个示例:
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
[ 'local-1517085058363' ]
另外,我在Gulp上运行我的代码。我不确定这是否会有所不同。
如何修复此问题,以便只返回一个ID?
答案 0 :(得分:0)
有多个阵列,因此可以解释它们的来源。我使用了reduce()来获取我正在寻找的对象。