/
ValuePropogationORGINAL.html
45 lines (37 loc) · 1.43 KB
/
ValuePropogationORGINAL.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
const tableArr = {
'columns': ['id','column3', 'column2', 'column1'],
'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': ''}
]
};
function valuesToArray(obj) {
let column = tableArr.columns
return column.map(function(key) { return obj[key]; });
}
function convertFunction(table){
const dataDetails = (el) => table.data.filter((dataId) => dataId.id === el);
let resultTemp = {id: null, column1: null, column2: null, column3: null};
const mapDetails = table.order.map((id) => {
resultTemp.id = id;
dataDetails(id).forEach((item) => {
resultTemp[item.column] = item.value;
})
//console.log("EE",resultTemp)
return valuesToArray(resultTemp);
})
return mapDetails;
}
console.log(convertFunction(tableArr));