Javascript:将数组元素添加到另一个数组

时间:2015-07-26 22:09:19

标签: javascript arrays

我需要将下面提到的数组中的元素拆分为2个独立的数组:
数据和标签:

使用下面的示例如下所示:

数据 [9,23,1,6]
标签: ['service-1','service-2','service-3','service-4']

    Array[16]
       .    0: Object
           .    data: 9
           .    labels: "service-1"
           .    __proto__: Object
       .    1: Object
           .    data: 23
           .    labels: "service-2"
           .    __proto__: Object
       .    2: Object
           .    data: 1
           .    labels: "service-3"
           .    __proto__: Object
       .    3: Object
           .    data: 6
           .    labels: "service-4"
           .    __proto__: Object

我正在努力保持这种简单,因为我尝试了几个不起作用的东西,包括这篇文章中的参考:add array elements to other

3 个答案:

答案 0 :(得分:3)

试试这个:

var dataLabels = [
  {data: 9, label: "service-1"},
  {data: 23, label: "service-2"},
  {data: 1, label: "service-3"},
  {data: 6, label: "service-4"}
];

var data = [];
var labels = [];

dataLabels.forEach(function(element) {
    data.push(element.data);
    labels.push(element.label);
});

答案 1 :(得分:2)

假设您的数组有一个JS对象表示法,我认为这应该有效:

var data = [];
var labels = [];

for (var i= 0;i<16; i++){
    data[i] = array[i].data;
    labels[i] = array[i].labels;
}

答案 2 :(得分:2)

这应该可以解决问题。虽然也许循环就足够了。

var dataLabels = [
  {
    data: 9,
    labels: "service-1"
  }, {
    data: 23,
    labels: "service-2"
  }
];

var data = dataLabels.map(function(element) {
  return element.data;
});

var labels = dataLabels.map(function(element) {
  return element.labels;
});