我有以下的陣列,尋找獨特的陣列中最有效的方法
var a = [1,2,3,4,5];
var b = [2,3,4,5,6];
var c = [4,5,6,7,8];
var d = [1,2,3,4,5];
什麼是找出是不同的陣列中的最有效的方法是什麼? I.e數組a,b和c是不同的,順序很重要。
我有以下的陣列,尋找獨特的陣列中最有效的方法
var a = [1,2,3,4,5];
var b = [2,3,4,5,6];
var c = [4,5,6,7,8];
var d = [1,2,3,4,5];
什麼是找出是不同的陣列中的最有效的方法是什麼? I.e數組a,b和c是不同的,順序很重要。
您可以使用 Array.prototype.every()使用JavaScript
var a = [1,2,3,4,5];
var b = [2,3,4,5,6];
var is_same = (a.length == b.length) && a.every(function(element, index) {
return element === b[index];
});
只有類型安全的解決方案。 – dandavis
一個有趣的方式比較數組將它們轉換爲字符串並進行比較。你可以JSON stringify
他們或只是他們join
這樣
a.join('') === b.join('')
因爲你說的順序問題這個工作而已。我不知道使用JSON的stringify over join基元之間的基準。也許你可以嘗試一下。
注意[1]和[「1」]和[[1]]全部匹配... – dandavis
這也可以這樣
a.toString() === b.toString()
注意'[1]'和'[「1」]'和[[1]]全部匹配那樣... – dandavis
這個工作,不幸的是,我正在處理20 MB的JSON文件,它需要很長時間。 –
@ParkTaecyeon這是很難做任何事情,然後找到一種方法來縮短文件,這是不是一個好主意,在20 MB的JSON文件的最佳做法。如果您發現它有用,請接受答案:-) –
如果你說_「的順序事項」做_你的意思是'了'和'D'是一樣的,但'變種E = [5 ,4,3,2,1];'會有所不同,因爲相同的內容是不同的順序? –
試試這個很簡單a.toString()=== b.toString() –
可能很有趣:http://stackoverflow.com/questions/3115982/how-to-check-if-two-arrays-are-equal- with-javascript – Hitmands