Javascript 获取/更新具有特定子值的json元素

Javascript 获取/更新具有特定子值的json元素,javascript,json,Javascript,Json,假设我有以下json数组 [ { title: 'Demo', key: 'IJwARZ9P', image: '#EF6176' }, { title: 'Test', key: 'O-q-XmoX', image: '#35A8C0' }, { title: 'Example', key: 'lBZiB0QF', image: '#99C953' }, { title: 'Greet', key: 'p6RZf9tt', image: '#F56E45' } ] 我知道我

假设我有以下json数组

[ { title: 'Demo', key: 'IJwARZ9P', image: '#EF6176' },
  { title: 'Test', key: 'O-q-XmoX', image: '#35A8C0' },
  { title: 'Example', key: 'lBZiB0QF', image: '#99C953' },
  { title: 'Greet', key: 'p6RZf9tt', image: '#F56E45' }    ]
我知道我要更新的元素的标题。对于本例,我希望在元素中添加一个“description”元素,标题为:“Test”。我有整个项目的标题是{…}存储,所以我可以从那里访问标题,但我想知道如何添加一个元素到这个特定的项目

抱歉,如果我使用了任何不正确的术语,这对json来说是非常新的。任何帮助都将不胜感激。

您可以使用该方法获取所需物品。然后设置该项的说明,这将更新数组中的项,因为它是引用

var数据=[{
标题:“演示”,
键:“IJwARZ9P”,
图片:“#EF6176”
},
{
标题:"测试",,
键:“O-q-XmoX”,
图片:“#35A8C0”
},
{
标题:“示例”,
键:“lBZiB0QF”,
图片:“#99C953”
},
{
标题:"问候",,
键:“p6RZf9tt”,
图片:“#F56E45”
}
];
//找到标题为“测试”的第一个匹配项;
var testItem=data.find(函数(项){
返回item.title==“测试”;
});
//设置匹配项的说明(由于这是一个引用,所以在数组中也会更新)。
testItem.description=“测试描述”;
控制台日志(数据)您可以使用该方法获取所需的项目。然后设置该项的说明,这将更新数组中的项,因为它是引用

var数据=[{
标题:“演示”,
键:“IJwARZ9P”,
图片:“#EF6176”
},
{
标题:"测试",,
键:“O-q-XmoX”,
图片:“#35A8C0”
},
{
标题:“示例”,
键:“lBZiB0QF”,
图片:“#99C953”
},
{
标题:"问候",,
键:“p6RZf9tt”,
图片:“#F56E45”
}
];
//找到标题为“测试”的第一个匹配项;
var testItem=data.find(函数(项){
返回item.title==“测试”;
});
//设置匹配项的说明(由于这是一个引用,所以在数组中也会更新)。
testItem.description=“测试描述”;
控制台日志(数据)尝试使用此选项,以获得

var a = [{
    title: 'Demo',
    key: 'IJwARZ9P',
    image: '#EF6176'
  },
  {
    title: 'Test',
    key: 'O-q-XmoX',
    image: '#35A8C0'
  },
  {
    title: 'Example',
    key: 'lBZiB0QF',
    image: '#99C953'
  },
  {
    title: 'Greet',
    key: 'p6RZf9tt',
    image: '#F56E45'
  }
];

for (var b of a) {
  if (b.title == "Test") {
    b.description = "test description";
  }
}

console.log(a);
用这个试试看

var a = [{
    title: 'Demo',
    key: 'IJwARZ9P',
    image: '#EF6176'
  },
  {
    title: 'Test',
    key: 'O-q-XmoX',
    image: '#35A8C0'
  },
  {
    title: 'Example',
    key: 'lBZiB0QF',
    image: '#99C953'
  },
  {
    title: 'Greet',
    key: 'p6RZf9tt',
    image: '#F56E45'
  }
];

for (var b of a) {
  if (b.title == "Test") {
    b.description = "test description";
  }
}

console.log(a);

那不是。“JSON是一种文本、语言无关的数据交换格式,很像XML、CSV或YAML。”->事实并非如此。“JSON是一种文本的、与语言无关的数据交换格式,非常类似于XML、CSV或YAML。”->这是第
testItem.description=“test description”行的内容可以。如果运行该代码段,您将看到数组已更新。这是行
testItem.description=“test description”所显示的内容可以。如果运行代码段,您将看到数组已更新。根据是否只有一个匹配结果,在找到匹配项后跳出循环可能更有效。可能他可能有两个或更多匹配项根据是否只有一个匹配结果,跳出循环可能更有效一旦找到匹配项,他可能有两个或更多匹配项