JQuery:无法通过$ .each循环动态数组

时间:2017-01-05 20:41:44

标签: javascript jquery

为什么无法通过$.each()循环动态数组?

var array = [];
array['one'] = 'two';
$.each(array, function( key, value )
{
    //not get in loop
    alert(value);
});

1 个答案:

答案 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;
&#13;
&#13;

documentation

中对此进行了解释
  

具有length属性的数组和类似数组的对象(例如函数的参数对象)由数字索引迭代,从0到length-1。其他对象通过其命名属性进行迭代。