添加到数组javascript
问题描述:
我已经创建了数组var aData = [];
,我想使用Web服务添加到数组中。我用下面的代码检索最后一项:添加到数组javascript
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 };
,但它返回一个空白表。我已经使用console.log
来查看正在推送到aData的内容,并且在添加+时我得到:["[object Object][object Object][object Object][obje…ect][object Object][object Object][object Object]"]
没有+我得到[Object]
。
我应该提到,我使用sapui5表,这就是为什么我有oModel.refresh
,但我认为这可以在不知道我使用sapui5表的情况下完成。
答
如果您将list
对象放入数组中(它当前为object
),然后将push
部件移动到每个循环中,您将可以将每个项目添加到数组中。 Array.prototype.push
方法向数组中添加一个项目。
var list = [];
$.each(UserVM.Model.GetDataList(), function (index, item) {
list.push({ name: item.Name });
});
或者仅使用aData
阵列中的每个循环,而不是创建一个新的临时阵!
答
试试这个:
list [name] = item.Name;而不是list = {name:item.Name};
谢谢!这就是诀窍!我只是将'list'改为'aData'。奇迹般有效。我会尽我所能接受。 – Anthony