2017-04-25 88 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"}, 
 
]));