回答
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