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

Sev*_*evi 3 javascript jquery

为什么不能通过循环动态数组$.each()

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

Bar*_*mar 11

对于数组,$.each()只循环编号索引.如果要循环命名属性,则必须使用对象.

var obj = {};
obj['one'] = 'two';
$.each(obj, function( key, value )
{
    console.log(key, value);
});
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

这在文档中解释:

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