Как вставить массивы в объекты, находящиеся внутри массива? Для ng2-диаграмм / диаграмм. js - PullRequest
0 голосов
/ 30 мая 2020

Допустим, у меня есть 2 массива:

var array1 = [1,1,1];
var array2 = [2,2,2];

Как мне создать родительский массив с двумя объектами, показанными ниже?

(Я пытаюсь вставить указанные выше массивы в родительский массив с 2 объектами, но мне все еще нужно создать объекты, чтобы они включали показанные ключи. Это необходимо для соблюдения ng2- диаграммы типа ChartDataSets.)

// below is what I'm trying to accomplish, but I only have the 2 arrays above so far
[
  { data : array1, label: 'some label1' },
  { data : array2, label: 'some label2' },
]

Ответы [ 3 ]

2 голосов
/ 30 мая 2020

let arr1 = [1,1,1];
let arr2 = [2,2,2];
let reqArray = [arr1,arr2].map((ele,ind)=> {return{data:ele,label:`some label${ind+1}`}});
console.log(reqArray)



 
0 голосов
/ 30 мая 2020

использовать оператор карты и распространения

const array1 = [1,1,1];
const array2 = [2,2,2];

const parentArr = [
  { label: 'some label1' },
  { label: 'some label2' },
]

function a (array) {
  return parentArr1 = parentArr.map(it => {
    return {...it, data: array }
  })
}

console.log(a(array1))
console.log(a(array2))
0 голосов
/ 30 мая 2020

Используя список нижеприведенных операторов, вы можете получить указанный выше массив объектов.

var array1 = [1,1,1];
var array2 = [2,2,2];
var arrObj = [];
var tempObj = {};
tempObj.data = array1;
tempObj.lable = "test1";
arrObj.push(tempObj);
tempObj.data = array2;
tempObj.lable = "test1";
arrObj.push(tempObj);

"arrObj" имеет пример вывода, который вам нужен

...