附加一个对象的Json数组

时间:2016-11-02 11:30:03

标签: javascript arrays json

我已经将数据推送到像这样的数组

this.data.push{'data': 'type',
  'value': 'apple'}

我希望附加该特定数组的值对象的值。我试着这样做

this.data[index].value.push = 'banana';

但它不起作用?我想替换值

5 个答案:

答案 0 :(得分:3)

Push是一个函数Array.push()

this.data[index].push('banana');

答案 1 :(得分:2)

在javascript中将项添加到数组中的工作方式如下:

this.data.push({'data': 'type', 'value': 'apple'});

但是,鉴于您的数据是对象,您不需要使用push:

this.data[index].value = 'banana';

您可以直接从javascript对象访问值。

鉴于您已使用字符串键,您可能需要执行以下操作:

this.data[index]['value'] = 'banana';

请查看此信息以获取更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Working_with_Objects

答案 2 :(得分:2)

  

我已经将数据推送到像这样的数组

this.data.push{'data': 'type', 'value': 'apple'}

没有!如果没有语法错误,这不起作用。

您可以使用

this.data.push({'data': 'type', 'value': 'apple'});

用于在数组data的末尾插入新对象。

要更改特定对象的属性,您需要分配新内容,例如

this.data[index].value = 'banana';

这会获取一个元素和属性,并为其指定新值'banana'

请查看properties accessors对象,例如

object.property
object["property"]

答案 3 :(得分:1)

push获取对象的参数,你必须在大括号中传递这个参数

this.data.push({'data': 'type',  'value': 'apple'})

更改值可以直接更改字段值

this.data[index].value = 'banana';

如果您想在value中保留多个值,请将值设为array

答案 4 :(得分:1)

制作

this.data[index].value = ['banana'];

因为您需要将value属性的值替换为数组。

如果需要再次重复,那么

Array.isArray(this.data[index].value) ? (this.data[index].value = ['banana']) : this.data[index].value.push('banana');