以下内容是在$ .map:
的jQuery文档中编写的类似于数组的对象 - 具有
.length
属性和的值.length - 1
索引 - 必须先转换为实际数组 传递给$.map()
。
这有什么理由吗?如果你尝试使用类似数组的对象,你可以看到如果你调用$ .makeArray(),$ .map()的结果不会改变:
var fruits = {"length": 3, 0: "Banana", 1: "Apricot", 2: "Peach"};
$.map(fruits, function(val, i) { return val; }); // Array [ "Banana", "Apricot", "Peach" ]
$.map($.makeArray(fruits), function(val, i) { return val; }); // Array [ "Banana", "Apricot", "Peach" ]