Соберите данные из объекта, разделенного запятой, и сделайте себя отдельным объектом - Javascript - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть массив, содержащий различные объекты. Эти объекты содержат данные, разделенные запятой. Я хотел бы удалить все эти данные из объекта и сделать их как отдельный объект (включая одну и ту же дату):

Array = [3]
 0: Object { year: "march 2019", "turnover": 120, "employee": 1000, "cars":232 }
 1: Object { year: "april 2019", "turnover": 123, "employee": 1340, "cars":682 }
 2: Object { year: "june 2019", "turnover": 1343, "employee": 760, "cars": 4345 }

Моя цель состоит в том, чтобы извлечь данные из каждого объекта и заставить их возражать сам с тем же дата:

Array = [9]
 0: Object { year: "march 2019", "turnover": 120 }
 1: Object { year: "march 2019" , "employee": 1000 }
 2: Object { year: "march 2019", "cars":232 }
 3: Object { year: "april 2019", "turnover": 123 }
 4: Object { year: "april 2019", "employee": 1340 }
 5: Object { year: "april 2019","cars":682 }
 6: Object { year: "june 2019", "turnover": 1343 }
 7: Object { year: "june 2019", "employee": 760 }
 8: Object { year: "june 2019","cars": 4345 }

Я ценю вашу помощь

Спасибо

Ответы [ 2 ]

2 голосов
/ 19 февраля 2020

Вы можете использовать деструктуризацию объекта и Object.keys() в сочетании с простой итерацией:

var array = [
   { year: "march 2019", "turnover": 120, "employee": 1000, "cars":232 },
   { year: "april 2019", "turnover": 123, "employee": 1340, "cars":682 },
   { year: "june 2019", "turnover": 1343, "employee": 760, "cars": 4345 }
];

var result = [];

array.forEach((entry) => {
  
  var { year, ...rest } = entry;
  Object.keys(rest).forEach((key) => result.push({ year, [key]: rest[key] }));
});

console.log(result);
0 голосов
/ 19 февраля 2020
var testarr = [{ year: "march 2019", "turnover": 120, "employee": 1000, "cars":232 },{ year: "march 2019", "turnover": 120, "employee": 1000, "cars":232 }]

var finalArr = [];
for(i=0;i<testarr.length;i++){

    for (key in testarr[i]){
        var yearjson = { "year" : testarr[i]["year"]}
        if(key != "year"){
            yearjson[key] = testarr[i][key]
            finalArr.push(yearjson)
        } 
    } 

}
console.log(finalArr)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...