json键值对操纵

时间:2017-04-25 11:13:37

标签: javascript angularjs arrays object key-value

我有一个问题。 我正在尝试从表中提取数据以显示编辑并在我的节点应用程序上提交。 这是一个MySQL数据库,我无法控制它或它的设计。 它只有2列

PropertyName | value

现在当我使用knexJS时,我得到了我的json对象

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

等等。 我试图在服务器端对它进行排序

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

因为我现在正在显示数据,所以如果更多的行被添加或删除,这将更容易显示和操作

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

哪个不是最好的

帮助会很棒

2 个答案:

答案 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)

答案 1 :(得分: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"},
]));
&#13;
&#13;
&#13;