添加到数组 javascript

Adding to an array javascript

我已经创建了数组 var aData = [];,我想使用 Web 服务添加到数组中。我使用了以下代码来检索最后一项:

var GSUserAfterFindRecord = function (sender) {
    UserVM.ModelList = ko.observableArray(UserVM.Model.GetDataList());
    var list = {};

    $.each(UserVM.Model.GetDataList(), function (index, item) {
        list = { name: item.Name };
    });
    aData.push(list);
    oModel.refresh();
}

但我想检索所有项目,而不仅仅是最后一项。我试过 list += { name: item.Name } 而不是 list = { name: item.Name };,但是 returns 是空白 table。我已经使用 console.log 查看被推送到 aData 的内容,并且在添加 + 时我得到: ["[object Object][object Object][object Object][obje…ect][object Object][object Object][object Object]"] 没有 + 我得到 [Object].

我应该提到我正在使用 sapui5 table 这就是为什么我有 oModel.refresh 但我认为这可以在不知道我正在使用 sapui5 table 的情况下完成].

试试这个:

列表[名称] = item.Name;而不是 list = { name: item.Name };

如果把list对象做成数组(目前是object),然后把push部分移到each循环中,就可以添加每个项目到数组。
Array.prototype.push 方法向数组添加一项。

var list = [];
$.each(UserVM.Model.GetDataList(), function (index, item) {
    list.push({ name: item.Name });
});

或者只在每个循环中使用 aData 数组而不是创建一个新的临时数组!