首页 > 解决方案 > 如何从对象中删除字段

问题描述

我有一个对象数组。为了做一个操作,我需要从这个对象中删除几个字段,而对于其他一些操作,我必须使用整个字段

但是这两个数组都删除了“正则表达式”字段。我在这里做错了什么?

var newob = {};
var myObject = {
  "ircEvent": "PRIVMSG",
  "method": "newURI",
  "regex": "^http://.*"
};
newob = JSON.stringify(myObject);
delete newob.regex;
console.log("Test1", newob);
console.log("Test2", myObject);

标签: javascriptnode.js

解决方案


您丢失了JSON.parse,因此您可以创建对象。否则,您正在尝试deletea 的属性regexstring该属性不存在。

newob = JSON.parse(JSON.stringify(myObject));

JSON.stringify创建一个字符串,您需要JSON.parse从 JSON 字符串创建一个对象。

对于该对象,您可以使用它,Object.assign({}, myObject)因为它是一个浅克隆。

newob = Object.assign({}, myObject);
// newobj = { ...myObject } // this will also work

推荐阅读