我有一个 ID 为“genres”的多选列表项。在我的代码中,我获取“流派”的值,将其拆分,然后迭代并将每个值添加到另一个数组中。但由于某种原因,它添加了一个额外的条目。这是我的代码:
if ($("#genres").val()!=null) {
var genres = $("#genres").val().toString().split(",");
for (var i in genres) {
model.TitleGenres.push({ GenreId: genres[i] });
}
}
变量 model.TitleGenres 初始化为 [];
当我在 Firebug 中调试它时,我得到的值是:
genres: [ "6", "1770" ]
在循环结束时,我得到:
model.TitleGenres: [Object { GenreId="6"}, Object { GenreId="1770"}, Object { GenreId=function()}]
我不知道为什么有一个带有 GenreId=function() 的额外条目,有人可以解释为什么会这样以及如何消除它吗?
最佳答案
不要使用 for in
迭代 JS 中的(数字索引)数组.
使用for (var i = 0, len = array.length; i < len; i++) { ... }
关于javascript - 多个选择列表值在 JavaScript 中交互额外的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9590993/