Javascript 循环JSON对象并移除特定子对象

Javascript 循环JSON对象并移除特定子对象,javascript,arrays,json,Javascript,Arrays,Json,我有一个json对象,我想从中删除具有键“errMsg”的子对象 我想要的结果是JSON应该只包含子元素,而子元素中没有“errorMsg” 我用的代码 jsonKeyInfo = stringToJson(form.response); for(var i in jsonKeyInfo.info){ if(jsonKeyInfo.info[i].errorMsg){ errMsg = jsonKeyInfo.info[i].errorM

我有一个json对象,我想从中删除具有键“errMsg”的子对象

我想要的结果是JSON应该只包含子元素,而子元素中没有“errorMsg”

我用的代码

jsonKeyInfo = stringToJson(form.response); 
for(var i in jsonKeyInfo.info){
            if(jsonKeyInfo.info[i].errorMsg){
                errMsg = jsonKeyInfo.info[i].errorMsg;
                jsonKeyInfo.info.splice(i,1);
                err++;
            //  delete jsonKeyInfo.info[i];
            }
        }

对我不起作用。

试试这个,它会过滤你的数组,并最终生成你需要的数据

var jsonData = {"info":[{"errorMsg":"Unable to find Vendor ","c2v":"some text"},{"errorMsg":"Unable to find Vendor ","c2v":"Some text"},{"errorMsg":"Unable to find Vendor","c2v":" Some text"},{"id":"1038578481","ven":"DEMOMA","c2v":" Some text"}]};

var result = jsonData.info.filter(i=>!i.errorMsg)

console.log(result)
要将其重新分配使用

jsonData.info=结果

在您的控制台中尝试以下操作:)尽情享受
obj={“info”:[
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“errorMsg”:“找不到供应商”,“c2v”:“某些文本”},
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“某些文本”}
]}
var=false;
obj.info=obj.info.filter((el)=>!(el.hasOwnProperty(“errorMsg”)&&(changed=true));
控制台日志(obj);
控制台日志(“Obj.info已更改?”+已更改);
更改=错误;
obj2=[
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“Some text”},
{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“某些文本”}
];
obj2.filter((el)=>!(el.hasOwnProperty(“errorMsg”)&&(changed=true));

console.log(“Obj2已更改?”+已更改)回答得很好。我没有定义错误,你能确认这个符号是什么意思吗!i、 errorMsgthey被称为箭头函数,有关更多信息,请通过此链接查看i未定义错误?你能告诉我错误在哪一部分吗?但是我想要像{“info”:[{“id”:“1038578481”,“ven”:“DEMOMA”,“c2v”:“Some text”}]}这样的输出,然后将结果分配回
info
属性(更新的代码)。如果结果发生变化,是否可以设置一个标志以及“True”。
jsonKeyInfo = stringToJson(form.response); 
for(var i in jsonKeyInfo.info){
            if(jsonKeyInfo.info[i].errorMsg){
                errMsg = jsonKeyInfo.info[i].errorMsg;
                jsonKeyInfo.info.splice(i,1);
                err++;
            //  delete jsonKeyInfo.info[i];
            }
        }
var jsonData = {"info":[{"errorMsg":"Unable to find Vendor ","c2v":"some text"},{"errorMsg":"Unable to find Vendor ","c2v":"Some text"},{"errorMsg":"Unable to find Vendor","c2v":" Some text"},{"id":"1038578481","ven":"DEMOMA","c2v":" Some text"}]};

var result = jsonData.info.filter(i=>!i.errorMsg)

console.log(result)