- 我有这个:
//returns = Object {0: "17", 1: "16", 2: "24"}
console.log(lastColorsSelection);
$( lastColorsSelection).each(function( key, value) {
console.log(value[key]); //WHY?
});
为什么只有第一个值记录在循环中? (17)我想要17,16& 24要迭代。
答案 0 :(得分:1)
使用$ .each()函数而不是object.each()
$.each(lastColorsSelection,function( key, value) {
console.log(value);
});
答案 1 :(得分:1)
当您使用$(lastColorsSelection)
将对象包装到jQuery对象中时,您将获得一个只包含一个项目的jQuery对象,该项目是原始对象。
当您遍历所有项目(一个)时,key
将为0
而value
将成为对象,因此获取value[key]
将获得第一个来自对象的项目。
使用$.each
method代替each
method来迭代数组,并显示value
:
$.each(lastColorsSelection, function(key, value) {
console.log(value);
});
答案 2 :(得分:-2)
在纯JavaScript中,可以这样做:
for(var key in lastColorsSelection){
console.log(lastColorsSelection[key]);
}