2017-02-21 52 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