/
ArrayOfObjectsIntoArrayOfArrays.html
47 lines (40 loc) · 1.64 KB
/
ArrayOfObjectsIntoArrayOfArrays.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const tableArr = {
'columns': ['id', 'column1', 'column2', 'column3'],
'order': [1, 3, 2, 4, 7, 5, 11],
'data': [
{ 'id': 1, 'column': 'column1', 'value': 'apple'},
{ 'id': 3, 'column': 'column3', 'value': 'iOs'},
{ 'id': 2, 'column': 'column1', 'value': 'apple inc'},
{ 'id': 2, 'column': 'column2', 'value': 'NextGen'},
{ 'id': 4, 'column': 'column1', 'value': 'MS'},
{ 'id': 4, 'column': 'column2', 'value': 'Office'},
{ 'id': 7, 'column': 'column2', 'value': 'Server'},
{ 'id': 5, 'column': 'column3', 'value': '2016'},
{ 'id': 5, 'column': 'column2', 'value': null},
{ 'id': 11, 'column': 'column3', 'value': 'Android'},
{ 'id': 11, 'column': 'column2', 'value': 'OS'},
{ 'id': 11, 'column': 'column1', 'value': 'Google'},
{ 'id': 4, 'column': 'column3', 'value': ''}
]
};
//const dataDetails = (el) => tableArr.data.filter((dataId) => dataId.id === el);
//const resultTemp = {id: null, column1: null, column2: null, column3: null};
//console.log(resultTemp);
let outArr = [];
function convertFunction(table){
const dataDetails = (el) => table.data.filter((dataId) => dataId.id === el);
const mapDetails = table.order.map((it) => {
//console.log("rr",outArr)
return dataDetails(it).forEach((item) => {
let resultTemp = {id: null, column1: null, column2: null, column3: null};
let arr = [];
//console.log("ee",item.id, item.column, item.value)//, resultTemp[item.column])
resultTemp.id = item.id;
resultTemp[item.column] = item.value;
arr.push(resultTemp)
outArr.push(arr)
})
})
return outArr;
}
console.log(convertFunction(tableArr));