2017-02-21 71 views
0

jQuery如何在“子类别”([0 ... 99]等)中对找到的元素进行排序,而不是将其声明为对象键/对?jQuery的对象结构?

e.x 0 ... 99

+2

这是正常管理行为,以防止一次 – piotrbienias

+0

没错显示数百个结果,这是浏览器功能,而不是jQuery功能。 –

+0

@piotrbienias哦..这很奇怪。我有其他结果与巨大的对象..必须是与我想'NodeList'原型。 – Testuser070

回答

0

这不是jQuery的,它是可迭代的对象浏览器的控制台行为(在谷歌Chrome和微软边缘测试)。

尝试运行这段代码来查看数组中此行为:由$(“格”)返回

var test = { arr: [] }, i = 0; 
for(;i<200;) test.arr[i++] = 0; 
console.log(test); 

对象是可迭代。从MDN

一个目的是迭代,如果它定义了迭代的行为,比如 在for..of构建物环绕在什么样的价值观。一些内置的 类型(例如Array或Map)具有默认的迭代行为,而其他类型(如Object)则不具有。

浏览器正在使用此功能来显示分组值,以避免一次显示所有值。

要验证的对象是可迭代可以运行在控制台下面的代码(谷歌浏览器测试):

console.log(typeof {}[Symbol.iterator] === 'function'); 
console.log(typeof [][Symbol.iterator] === 'function'); 
console.log(typeof $("div")[Symbol.iterator] === 'function'); 
+0

试试这个...这正是我面临的问题 - > var test = {}; (var i = 0; i <200; i ++){ } console.dir(test); – Testuser070

+0

*附加到我最新的评论* - >这就是我的意思..在一个对象(从原点),不可能有虚拟键属性..或我错了吗? – Testuser070