从数组值创建对象数组

时间:2018-02-08 11:27:25

标签: javascript arrays

我有一个数组

["7", "-1", "1", "2", "3", "4", "5", "6", "-3"]

我想用数组创建一个对象数组,如下所示:

{
  "region": [{
      "label": "",
      "value": "7"
    },
    {
      "label": "",
      "value": "-1"
    }
  ]
}

如何实现这一目标?

4 个答案:

答案 0 :(得分:4)

可以说,您的数组位于变量arr中。 您可以使用.map()创建新结构。



var arr = ["7", "-1", "1", "2", "3", "4", "5", "6", "-3"];

var result = {
  region: arr.map(value => ({
    label: '',
    value
  }))
};

console.log(result);




答案 1 :(得分:1)

您可以使用数组的map function。此函数的参数是另一个函数,它将接收每个项目的值和键。您可以返回具有所需结构的对象,从而将每个值映射到正确的对象,例如:

[1,2,3].map(function(item) {
    return {"label":"", "value":item};
});

将返回:

[
    {"label":"", "value":1},
    {"label":"", "value":2},
    {"label":"", "value":3}
]

答案 2 :(得分:0)

你可以使用地图功能:

amcno           date        custnme         strtdte     endate      pmdate      reminder    count
------------------------------------------------------------------------------------------------
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-01-22  2018-03-21  2018-03-21  2018-03-11    1
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-03-22  2018-05-21  2018-05-21  2018-05-11    2
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-05-22  2018-07-21  2018-07-21  2018-07-11    3
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-07-22  2018-09-21  2018-09-21  2018-09-11    4
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-09-22  2018-11-21  2018-11-21  2018-11-11    5
ICT/2017-18/1   2018-01-22  MAHESHSHINDE    2018-11-22  2019-01-21  2019-01-21  2019-01-11    6

答案 3 :(得分:0)

  • 您可以创建Converter课程。
  • 创建一个使用Converter实例映射数组的函数。

这样可以重复使用您的代码。

请查看此代码段



var data = ["7", "-1", "1", "2", "3", "4", "5", "6", "-3"];

var Converter = function() {
  this.convert = (n) => ({ "label": "", "value": n});
};

var processArray = (array, converter) => { 
  return { region: array.map((n) => converter.convert(n)) };
};

console.log(processArray(data, new Converter()));

.as-console-wrapper {
  max-height: 100% !important
}