node-删除对象中指定属性失效问题-JSON.parse实例化

Posted 简一118

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node-删除对象中指定属性失效问题-JSON.parse实例化相关的知识,希望对你有一定的参考价值。

 

需求描述:

  删除 _body 对象里的 code 字段。用 detele 删除后输出的_body 里仍有 code 字段。

body是从后台得到的json串,所以要先 parse 转换成对象,本以为 delete 之后body会更新,注意下面输出的是 JSON.parse(body) ,输出的内容并未删除 code

let body = [{"id":45,"code":9,"}]
let _body = JSON.parse(body)
_body.forEach(e => {
    delete e.code; 
})
console.log(_body) // 已删除 code
console.log(JSON.parse(body))

  

因为  delete e.code; 只是修改对象的引用,而 JSON.strinfly() Parse()是重新生成一个实例,所以 code 并未删除。

正确的写法是  输出 _body 

 

以上是关于node-删除对象中指定属性失效问题-JSON.parse实例化的主要内容,如果未能解决你的问题,请参考以下文章

删除数组中指定的某个对象

JS 删除数组中指定的对象或者删除数组中某一项

JS 删除数组中指定的对象或者删除数组中某一项

mongodb更新查询删除命令中指定的字段以外的所有数组字段

mongodb更新查询删除命令中指定的字段以外的所有数组字段

JavaScript 删除某个数组中指定的对象