Javascript 从其他json中搜索json中的值
我试图从其他json中的json中搜索一个值,然后从不匹配的值创建一个新对象 这是我的代码:Javascript 从其他json中搜索json中的值,javascript,arrays,json,Javascript,Arrays,Json,我试图从其他json中的json中搜索一个值,然后从不匹配的值创建一个新对象 这是我的代码: var anis_report = [ { ani: '525510107835', Times_repeated: 11, Minutes: '33.97' },{ ani: '526642111071', Times_repeated: 9, Minutes: '6.00' },{ani: '524499765316', Times_repeated: 8, Minutes: '31.20' },{
var anis_report = [ { ani: '525510107835', Times_repeated: 11, Minutes: '33.97' },{ ani: '526642111071', Times_repeated: 9, Minutes: '6.00' },{ani: '524499765316', Times_repeated: 8, Minutes: '31.20' },{ ani: '525517421550', Times_repeated: 7, Minutes: '167.10' }]
var anis_whitelisted_db = [{ ani: '525510107835' },{ ani: '525555742933' },{ ani: '525511049249' },{ ani: '524422242668' }]
这里我从anis_报告中获取ani值,以在anis_白名单_db中搜索该值,但没有按照我的要求工作
for (ani in anis_whitelisted_db) {
for (ani_2 in anis_report) {
if (anis_report[ani_2]['ani'] !== anis_whitelisted_db[ani]['ani']) {
// Push unmatch object
anis_not_whitelisted.push(anis_report[ani_2])
}
}
}
提前感谢您可以使用for..of 我认为在检查anis_白名单_db中的每一项时,也存在一个逻辑问题,并且,一旦找到与给定ani匹配的项,就必须停止迭代 没有任何性能优化(使用Set:)
const whitelistedAnis=新集合(['ani1','ani2','ani3']);
对于(anis_报告的常数ani){//这里ani是{ani:xxx,Times_repeated,…}对象
如果(!whitelistedAnis.has(ani.ani))anis\u未被列入白名单,则推送(ani.ani);
}
这样,您可以只管理一个ani列表,并检查报告的ani是否在此列表中。您可以使用
for..of
我认为在检查anis_白名单_db中的每一项时,也存在一个逻辑问题,并且,一旦找到与给定ani匹配的项,就必须停止迭代
没有任何性能优化(使用Set:)
const whitelistedAnis=新集合(['ani1','ani2','ani3']);
对于(anis_报告的常数ani){//这里ani是{ani:xxx,Times_repeated,…}对象
如果(!whitelistedAnis.has(ani.ani))anis\u未被列入白名单,则推送(ani.ani);
}
通过这种方式,您只管理ani列表,并检查报告的ani是否在此列表中。您可以使用循环遍历元素,然后使用方法检查匹配值,最后使用方法删除匹配元素:
可以使用循环遍历元素,然后使用方法检查匹配值,最后使用方法删除匹配元素:
您是否错误地标记了“java”?这看起来像是一个Python构造。糟糕,是JavaScription。你错标记了“java”吗?这看起来像一个Python构造。糟糕,它是javascript
var anis_report = [ { ani: '525510107835', Times_repeated: 11, Minutes: '33.97' },{ ani: '526642111071', Times_repeated: 9, Minutes: '6.00' },{ani: '524499765316', Times_repeated: 8, Minutes: '31.20' },{ ani: '525517421550', Times_repeated: 7, Minutes: '167.10' }]
var anis_whitelisted_db = [{ ani: '525510107835' },{ ani: '525555742933' },{ ani: '525511049249' },{ ani: '524422242668' }]
var anis_not_whitelisted=anis_report
for (const[i,ani] of anis_report.entries()) {
if(anis_whitelisted_db.some( element => element['ani'] === ani['ani'] )){
anis_not_whitelisted.splice(i,1)
}
}
console.log(anis_not_whitelisted)