如何在挖空阵列中“重命名”属性名称

时间:2014-01-24 11:20:44

标签: javascript arrays knockout.js

我有这个淘汰赛阵列:

self.persons = ko.observableArray([
    { "PersonId" : "0", "PName" : "Miss" },
    { "PersonId Id" : "1", "PName" : "Postman Pat" }
]);

是否有一种优雅的(简单的方法将属性“PersonId”和“PName”映射到“id”和“name”?

提前Thanx:)

1 个答案:

答案 0 :(得分:3)

最简单的方法是创建一个包含所需道具的新对象:

然后,使用ItemViewModel对象填充person数组:

function ViewModel(data) {
    var self = this;
    var items = ko.utils.arrayMap(data, function(item) {
        return {
            id: item.PersonId,
            name: item.PName
        };
    });
    self.persons = ko.observableArray(items);
}