为什么要调用$ .makeArray()来将类似数组的对象传递给$ .map()?

时间:2016-06-11 19:30:43

标签: jquery

以下内容是在$ .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" ]

0 个答案:

没有答案