2017-04-25 72 views
1

我有一个问题。 我想从表中拉数据来显示编辑并在我的节点上提交应用程序。 这是一个MySQL数据库,我无法控制它或其设计。 它只有2列json键值对操纵

PropertyName | value

现在,当我使用knexJS我让我的JSON对象

[{“propertyName”: “jobNumbers”, “value”: “20”},{

等。 我想它确实

[{“jobNumbers”: “20”},{

因为这将是简单的显示和操作应更多的行添加或以后删除,因为我目前显示像这样

对数据进行排序它的服务器端

$scope.data = response.data; $scope.nJobNumbers = parseInt($scope.data[0].value)

这是不是最好的

,并帮助将是巨大的

+0

问题是什么? –

回答

1

使用Array#map()

const arr = [{"propertyName": "jobNumbers", "value": "20"}]; 
 

 
const finalArr = arr.map(a=>{ 
 
    let x = {}; 
 
    x[a.propertyName] = a.value; 
 
    return x; 
 
}); 
 

 
console.log(finalArr)

+0

完美,非常感谢,之前在正确的轨道上,但我有它inncorectly下令欢呼 – H30

0

我不知道这是你在找什么。

这使得所有给定的键值对中的新对象,其中propertyNames将是与对应的值的对象上的项目。

function dataParser($data) { 
 
    var result = {}; 
 
    for(var c = 0; c < $data.length;c++) { 
 
     var item = $data[c]; 
 
     result[item.propertyName] = item.value; 
 
    } 
 
    return result; 
 
} 
 
console.log(dataParser([ 
 
{"propertyName": "jobNumbers", "value": "20"}, 
 
{"propertyName": "jobTime", "value": "2000"}, 
 
{"propertyName": "jobParticipants", "value": "3"}, 
 
]));