我如何从这个起始数组创建这个数组?

时间:2018-12-28 13:51:33

标签: javascript arrays angularjs typescript

嗨,我有这个起始数组:

names = [ '1A', '1B', '1C', '1D', '1E'];

稍后在我的应用程序中需要使用它来查看轮到谁了。我需要能够将一些值存储在像这样的另一种数组中:

scores = [
  {
    id: "1A",
    endScores: {}
  },
  {
    id: "1B",
    endScores: {}
  },
  {
    id: "1C",
    endScores: {}
  },
  {
    id: "1D",
    endScores: {}
  },
  {
    id: "1E",
    endScores: {}
  }
];

如何从我的第一个数组转到第二个数组?第一个数组的大小也可以更改,在那里可以有更多或更少的名称...希望有一种可能的方法。 PS:我正在使用Angular 2。

3 个答案:

答案 0 :(得分:2)

这是将names数组映射到所需集合的方法。

const names = [ '1A', '1B', '1C', '1D', '1E'];

const transformToScores = names => names.map(id => ({id, endScores: {}}))

const scores = transformToScores(names)

console.log(scores)

答案 1 :(得分:1)

使用map方法非常简单:

const names = [ '1A', '1B', '1C', '1D', '1E'];

const scores = names.map(name => {
  let item = {
    id: name,
    endScores: {}
  }
  return item;
})

console.log(scores);

答案 2 :(得分:0)

var names = [ '1A', '1B', '1C', '1D', '1E'];

const newnames=names.map(Id=>Object.assign({},{
    id: Id,
    endScores: {}
    }
    ))
console.log(newnames)