当前位置: 首页 > 知识库问答 >
问题:

向对象添加元素

姜晨
2023-03-14

我需要填充一个json文件,现在我有如下内容:

{"element":{"id":10,"quantity":1}}

我需要添加另一个“元素”。我的第一步是使用cart=json将json放入对象类型中。解析,现在我需要添加新元素。我想我必须使用购物车。按添加另一个元素,我尝试了以下方法:

var element = {};
element.push({ id: id, quantity: quantity });
cart.push(element);

但是当我尝试做element.push时,我得到了错误"对象没有方法推送",我认为我做了一些非常错误的事情,因为我没有告诉任何地方的"元素"。

我该怎么做?

编辑:对不起,我脑子里有很多困惑。

我认为从JSON获取数据时只能获取对象类型。解析,但我首先得到了我在JSON中输入的内容。

用数组代替对象解决了我的问题,我也用了这里的很多建议,谢谢大家!

共有3个答案

高运诚
2023-03-14

要附加到对象,请使用object。分配

js prettyprint-override">var ElementList ={}

function addElement (ElementList, element) {
    let newList = Object.assign(ElementList, element)
    return newList
}
console.log(ElementList)

输出:

{“元素”:{“id”:10,“数量”:1},“元素”:{“id”:11,“数量”:2}

毋宪
2023-03-14

那一排

var element = {};

元素定义为普通对象。本机JavaScript对象没有push()方法。要向普通对象添加新项,请使用以下语法:

element[ yourKey ] = yourValue;

另一方面,您可以将元素定义为一个数组,使用

var element = [];

然后可以使用push()添加元素。

端木淇
2023-03-14

您的元素不是数组,但是您的购物车需要是数组才能支持许多元素对象。代码示例

var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push(element);

如果您希望购物车是一个对象数组形式{元素:{id: 10,数量: 1}}然后执行:

var element = {}, cart = [];
element.id = id;
element.quantity = quantity;
cart.push({element: element});

JSON。stringify()在评论中提到了一个问题:

>> JSON.stringify([{a: 1}, {a: 2}]) 
      "[{"a":1},{"a":2}]" 
 类似资料:
  • 问题内容: 我有一个从JSON文件读取的JSON格式对象,该对象包含在一个名为teamJSON的变量中,如下所示: 我想向数组添加一个新项,例如 最后 在写回文件之前。什么是添加到新元素的好方法?我接近了,但是所有双引号都被转义了。我一直在寻找一个很好的答案,但是没有一个案例能解决这个问题。任何帮助表示赞赏。 问题答案: JSON 只是一种 表示法 ;进行所需的更改,以便可以将更改应用于本机 Ja

  • 问题内容: 假设我有一个对象 如何通过添加方法扩展该对象,并确保将来的实例具有此方法? 问题答案: 您需要将其添加到Foo的原型中:

  • 问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程

  • 问题内容: 令我惊讶的是,JavaScript的Date对象没有实现任何类型的add函数。 我只是想要一个可以做到这一点的函数: 我只是希望有一个方向的指针。 我需要进行字符串解析吗? 我可以使用setTime吗? 毫秒呢? 像这样: 不过,这似乎确实很骇人-甚至行得通吗? 问题答案: JavaScript本身具有可怕的日期/时间API。尽管如此,您仍可以使用纯JavaScript进行此操作:

  • 我有个文件名测试。json 我读了这个文件,我想得到这个 我要阅读和构建的代码 从JSON的那句话中,我得到了 com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)接受格式错误的JSON 我的绳子坏了? 我试过了 我知道这不是JSON数组。

  • 问题内容: STORE = { item : function() { } }; STORE.item.prototype.add = function() { alert(‘test 123’); }; STORE.item.add(); 一段时间以来,我一直在试图找出问题所在。为什么不起作用?但是,当我使用以下命令时,它可以工作: 问题答案: 原型对象应在构造函数上使用,基本上是将使用new运