【问题标题】:adding multiple properties to object in a loop在循环中向对象添加多个属性
【发布时间】:2019-08-18 04:37:56
【问题描述】:

我认为我的问题很简单,但我不明白为什么我的解决方案不起作用:( 我正在尝试使用 foreach 循环向新对象添加一些长属性,但我得到了整个时间错误。 有人可以帮帮我吗?

let i = 0;
const obj = {};
for (const item of read) {
  console.log(item.name);
  console.log(item.imageURL);
  obj['hits']['hits'] ='whyDosntWork';
  console.log(item.name);
  if (item.imageURL) {
    obj['hits']['hits'][i]['_source.ActiveChannelReleases'][0]['ImageExports'][0]['Resolutions'][0]['Url'] =getServerURL()+item.imageURL;
  } else {
    obj['hits']['hits'][i]['_source.ActiveChannelReleases'][0]['ImageExports'][0]['Resolutions'][0]['Url'] ='https://cdn3.iconfinder.com/data/icons/kitchen-glyph-black/2048/4834_-_Cookbook-512.png';
  }
  console.log(item.imageURL);
  i++;
}

我有一个响应,我想用我的数据模拟它

例如,我希望有一个可以用数据填充的对象:

class ResponseController {
  constructor() {
    this.response = {
      'hits': {
        'hits': [{'_source.ActiveChannelReleases': [{'ImageExports': ['Resolutions']}],

        }],
      },
    };
  }
}
module.exports = ResponseController;

如果我写它会起作用

obj = new ResponseController();

然后我可以轻松地从厕所添加变量?

【问题讨论】:

    标签: javascript node.js


    【解决方案1】:

    首先这是一个疯狂:)。

    为什么不工作?

    const obj = {};

    obj['hits']['hits'] ='whyDosntWork'; 无法执行此操作,因为 obj['hist'] 不存在。

    你需要做的:

    obj['hits'] = {}

    然后obj['hits']['hits'] ='whyDosntWork';

    其他的也一样……

    我不明白你想在这里做什么:

    obj['hits']['hits'][i]['_source.ActiveChannelReleases'][0]['ImageExports'][0]['Resolutions'][0]['Url']

    但是按照我之前所说的,你需要为每一步创造你想要的价值。我可以假设你想要一个'hits`中的数组......

    【讨论】:

    • 谢谢 :) 用这种结构初始化 obj 会更好吗?怎么做?那之后我可以很容易地感觉到obj?
    • @AnnaK 如果你能解释一下你想做什么,也许我可以帮你找到更好的解决方案。
    • 我编辑了我的问题。你能看一下吗?
    【解决方案2】:

    问题是您将 obj 定义为一个对象,然后尝试将内容添加到 obj.hits 中而不将其定义为一个对象

    const obj = {};
    obj['hits'] = {}
    obj['hits']['hits'] ='whyDosntWork';
    

    【讨论】:

      猜你喜欢
      • 2013-04-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多