数组concat返回空数组

Bla*_*ack 0 javascript

我将concat在事件处理程序中使用的数组中添加几个项目,如下所示:

var selectedValues = [];
$.each($('#selected-levels').data("kendoListBox").dataSource.data(), function(i, item) {
    selectedValues.concat([ item.id ])
});

return {
    "selected" : selectedValues
};
Run Code Online (Sandbox Code Playgroud)

{level-selected: Array(0)} 即使我检查了中是否包含items,它始终会返回dataSource(通过调试器逐步完成)

为什么项目不出现在数组中?

gur*_*372 6

concat不改变数组,您需要将值设置回selectedValues

selectedValues = selectedValues.concat([ item.id ])
Run Code Online (Sandbox Code Playgroud)

或使用 push

selectedValues.push( item.id )
Run Code Online (Sandbox Code Playgroud)