使用$.getJSON
从具有以下内容的外部.json文件获取数据。
{
data:[
{
"1apps":"1",
"abc" "xyz"
},
{
"apps":"2",
"abc" "xyz"
},
{
"2apps":"3",
"abc" "xyz"
}
]
}
我想找到匹配应用程序的关键数据。在这种情况下,将输出1apps,apps,2apps。
答案 0 :(得分:2)
您可以使用filter,然后对obj进行迭代,然后使用include函数确定字符串是否包含指定字符串的字符
var obj = {
data: [{
"1apps": "1",
"abc": "xyz"
},
{
"apps": "2",
"abc": "xyz"
},
{
"2apps": "3",
"abc": "xyz"
}
]
};
var list = obj["data"];
var matchedKeys = [];
list.filter(function(k, v) {
for (var i in k) {
if (i.includes('apps')) {
matchedKeys.push(i);
return k;
}
}
});
console.log(list)
console.log(matchedKeys);
答案 1 :(得分:0)
您可以简单地使用reduce和filter来获取包含apps
const obj = {
data:[
{
"1apps":"1",
"abc" :"xyz"
},
{
"apps":"2",
"abc" :"xyz"
},
{
"2apps":"3",
"abc" :"xyz"
}
]
}
const res = obj.data.reduce((a,b) => a.concat(...Object.keys(b).filter(x => /apps/.test(x))), []);
console.log(res);