为什么无法通过$.each()
循环动态数组?
var array = [];
array['one'] = 'two';
$.each(array, function( key, value )
{
//not get in loop
alert(value);
});
答案 0 :(得分:11)
对于数组,$.each()
仅循环编号索引。如果要遍历命名属性,则必须使用对象。
var obj = {};
obj['one'] = 'two';
$.each(obj, function( key, value )
{
console.log(key, value);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
中对此进行了解释
具有length属性的数组和类似数组的对象(例如函数的参数对象)由数字索引迭代,从0到length-1。其他对象通过其命名属性进行迭代。