TypeScript-如何将键值对添加到数组中的每个对象?

新手上路,请多包涵

我有一组日期和一组对象。我想将日期作为键值对添加到对象数组中 {"Date": "10-12-18"}

dates

 ["10-12-18", "10-13-18", 10-14-18"]

data

 [
   {"name":"One", "age": "4"},
   {"name":"Two", "age": "5"},
   {"name":"Three", "age": "9"}
]

我想要像…

 [
    {"name":"One", "age": "4", "Date": "10-12-18"},
    ....

我如何在 TypeScript 中执行此操作?我习惯了普通的 JavaSCript 并且无法正确使用。

到目前为止我有一些东西:

 for (let idx of data){
   data[idx].date = dates[idx]
}

谢谢!!

原文由 LaurenAH 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 448
2 个回答

您的代码有什么问题 idx 将成为对象而不是您使用的索引 for...of 。使用一个简单的正则 for 比如:

 for(let idx = 0; idx < data.length; idx++) {
    data[idx].date = dates[idx];
}

或者使用 forEach 循环其中一个数组并使用它提供的索引从另一个数组获取值:

 data.forEach((obj, i) => obj.date = dates[i]);

原文由 ibrahim mahrir 发布,翻译遵循 CC BY-SA 4.0 许可协议

像这样的东西:

     let dates = ["10-12-18", "10-13-18", "10-14-18"];

    let objs = [{"name":"One",
     "age": "4"},

     {"name":"Two",
     "age": "5"},

    {"name":"Three",
     "age": "9"}
    ]

    const result = objs.map((item, index) => {
        item.Date = dates[index];
        return item;
    });

console.log(result);

原文由 Henrique Souza 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题