Javascript 根据嵌套对象中存在的特定值筛选JSON对象
您好,我正在尝试筛选JSON响应,以仅获取>=0的值 我的答复如下: 我正在努力实现: 我正在尝试使用es6中的map&filter来实现这一点,但不知道如何才能做到这一点。 到目前为止,我正在尝试一些硬编码的方法Javascript 根据嵌套对象中存在的特定值筛选JSON对象,javascript,json,ecmascript-6,filter,reduce,Javascript,Json,Ecmascript 6,Filter,Reduce,您好,我正在尝试筛选JSON响应,以仅获取>=0的值 我的答复如下: 我正在努力实现: 我正在尝试使用es6中的map&filter来实现这一点,但不知道如何才能做到这一点。 到目前为止,我正在尝试一些硬编码的方法 const outputResponse = response .map(value => value) .filter(value => value.AAE[0].amount !== '0') 但它将删除不包含数量“0”的整个对象 感谢您的帮助。您只需调用即可映射
const outputResponse = response
.map(value => value)
.filter(value => value.AAE[0].amount !== '0')
但它将删除不包含数量“0”的整个对象
感谢您的帮助。您只需调用即可映射所有
响应
对象,并删除AAE
和TAE
或具有金额的目标键
值:
let keys = ["AAE", "TAE"];
let result = data.response.map(val => {
keys.forEach(key => {
if (val[key] && val[key].some(x => +x.amount <= 0)) {
delete val[key];
}
});
return val;
});
let key=[“AAE”,“TAE”];
让result=data.response.map(val=>{
keys.forEach(key=>{
如果(val[key]&&val[key].some(x=>+x.amount{
keys.forEach(key=>{
如果(val[key]&&val[key].some(x=>+x.amount.map(value=>value)
写这篇文章的目的是什么?这就像做a=a
。我正在学习es6,不知道如何正确操作。好的,在这种情况下,你不需要使用过滤器使用.map()
就足够了,但是你应该正确地变换映射对象。我有20-30个键作为“AAE”和“TAE”,如果每次都不写入if条件,我该如何实现。@VirendersinghRathore如果你可以将所有这些键放在一个数组中并对其进行迭代,请参阅我的Edit.thnx,这非常有用。
const outputResponse = response
.map(value => value)
.filter(value => value.AAE[0].amount !== '0')
let keys = ["AAE", "TAE"];
let result = data.response.map(val => {
keys.forEach(key => {
if (val[key] && val[key].some(x => +x.amount <= 0)) {
delete val[key];
}
});
return val;
});