var seen = {};
$.each([6,7,11], function(i,v){ seen[v] = 1; });
// console.log(seen);
上面的例子是否有更高效的版本?也許使用$.map
或$.extend
?將數組轉換爲快速查找對象
var seen = {};
$.each([6,7,11], function(i,v){ seen[v] = 1; });
// console.log(seen);
上面的例子是否有更高效的版本?也許使用$.map
或$.extend
?將數組轉換爲快速查找對象
var i = arr.length
while (i--) {
seen[arr[i]]=1;
}
與其說它分析的參數再函數執行一個循環調用一個函數,只需做一個循環:
for (var i=arr.length; i-->0;) seen[arr[i]]=1;
jsperf確認這是更有效的:http://jsperf.com/each-or-for666
可能是一個好的老循環會比調用分析參數的函數更有效,然後運行調用函數的循環。 –
你也可以閱讀jQuery文檔 - 嘗試一下,讓我們知道它是如何去的,然後我們可以提供更多幫助。 'map'似乎只返回一個數組 – Ian
@Ian我已經有了,但是沒有發現任何有用的信息 –