回答
function compareArrays(array1, array2) {
array1 = array1.slice();
array2 = array2.slice();
if (array1.length === array2.length) { // Check if the lengths are same
array1.sort();
array2.sort(); // Sort both the arrays
return array1.every(function(item, index) {
return item === array2[index]; // Check elements at every index
}); // are the same
}
return false;
}
console.assert(compareArrays(["a", "b", "c"], ["c", "a", "b"]) === true);
你正在改變陣列作爲副作用 – Esailija
@Esailija修復它:)請檢查現在。 – thefourtheye
當然,但爲什麼不''返回array1.length === array2.length && array1.every(item => array2.indexOf(item)> -1);'更簡單,更快:P – Esailija
您可以_.difference
var diff = _(array1).difference(array2);
if(diff.length > 0) {
// There is a difference
}
嘗試這是行不通的,因爲不同的回報ð iff來自第一個數組。 _.difference(['a'],['a','b'])爲0但兩個數組不相等。
- 1. 如何比較nodejs中的兩個fileStat.mtime?
- 2. 如何比較兩個數組的值?
- 3. 我如何比較兩個數組php
- 4. 如何比較兩個對象數組?
- 5. 如何比較兩個對象數組
- 6. 我如何比較兩個數組?
- 7. 如何比較兩個二維數組
- 8. 如何比較兩個數組列表?
- 9. 如何比較兩個數組C++
- 10. 如何比較兩個數組
- 11. underscorejs如何比較兩個數組?
- 12. 如何比較兩個字節數組
- 13. 如何比較兩個數組對象
- 14. PHP - 比較兩個數組
- 15. Octave比較兩個數組
- 16. 比較兩個數組?
- 17. PHP比較兩個數組?
- 18. 比較兩個數組C++
- 19. 比較兩個數組
- 20. angularjs比較兩個數組
- 21. Android比較兩個數組?
- 22. 比較兩個數組
- 23. jquery !!比較兩個數組?
- 24. 比較兩個JavaScript數組?
- 25. 比較兩個數組中的比特
- 26. 如何比較兩個數組中的兩個字段 - Perl
- 27. 如何比較兩個元組?
- 28. 比較兩個密碼哈希值 - nodejs
- 29. 數組和javascript - 如何比較兩個數組
- 30. 比較兩個數組的ActionScript 3
可能重複的http://stackoverflow.com/questions/13523611/how-to-compare-two-arrays-in-node-js –
顯然是重複的;唯一缺失的鏈接是首先對兩個比較數組進行預先排序。 – raina77ow
@pronox該解決方案不起作用 > var arr1 = [「a」,「b」,「c」]; undefined > var arr2 = [「c」,「a」,「b」]; undefined > if(arr1.length == arr2.length ... && arr1.every(function(u,i){ ............ return u === arr2 [i]; ... ...}) ...){ ... console.log(true); ...} else { ... console.log(false); ...} 假 – bluesman