关于“真实”数组和原始数据类型的$ .makeArray()

时间:2014-06-11 11:03:28

标签: javascript jquery

目前,我正在做这样的事情:

var foo = $.isArray(bar) ? bar : [bar];

其中bar可以是数组,例如[1,2,3]或数字,例如1

$.makeArray()超越了我的想法,但它似乎打算用于具有类似数组结构的对象(如jQuery对象),以利用数组的内置方法,通常不会t存在于对象上。

var foo = $.makeArray(bar);

console.log( $.makeArray(1), $.makeArray([1]) ); // [1], [1]

上面的代码似乎工作得很好,但是我很想知道它是否恰好工作(因此不能安全地依赖)或者这是makeArray()的有效用例

2 个答案:

答案 0 :(得分:2)

我不会$.makeArray(1)因为根据documentation这是'array like'对象的函数,这将是一个节点列表(由document.getElementsByTagName返回)或者arguments数组类似函数中的对象。

它今天可能会工作,可能在不久的将来,但jQuery可以随时更改实现,以更恰当地与他们的规范对齐。

答案 1 :(得分:1)

好吧,如果你知道它只是 原始数字或数组,这是一个完全有效的用例(即使它没有文档)。