【问题标题】:Adding a property in a javascript object在 javascript 对象中添加属性
【发布时间】:2022-07-21 16:42:35
【问题描述】:

我在 javascript 中有一个数据数组对象,看起来像这样,我们将其称为 array 1

id: 'abc-123-das-grt-123',
name: '2022/2023',
competition: {
  category: [Object],
},
stages: [ [Object] ],

我还有另一个名为array 2 的数组,它与array 1 相同,但array 2 的长度为12,array 1 为120。array 2 具有我希望array 1 具有的属性.

我想比较array 1array 2,如果它们相同,我想在array1 中添加一个新属性sport: 'badminton'。我的功能是使用地图

const filteredResponse = array1.data.map(function(entry){
  if(array1.data === array2.data){
    entry.sports = "badminton"
  }
})

但结果显示未定义

[
  undefined, undefined, undefined, undefined,
  undefined, undefined, undefined, undefined,
]

代码有问题吗?有更好的方法吗?我试图避免使用 forLoops 并改用地图或其他方法。

【问题讨论】:

  • 你为什么不在循环中使用entry

标签: javascript arrays dictionary for-loop


【解决方案1】:

map 函数需要 return 来自它的东西。由于您在 map 函数之外没有任何 return 任何内容,因此它在每次迭代时返回 undefined

const filteredResponse = array1.data.map(function(entry){
  if(array1.data === array2.data){
    entry.sports = "badminton"
  }
  return entry;
})

【讨论】:

  • 我得到了返回值,但它没有添加到新属性中。
猜你喜欢
  • 2014-08-26
  • 2016-12-30
  • 2022-07-21
  • 2014-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-25
  • 2011-11-09
相关资源
最近更新 更多