比较Javascript/AngularJS中的两个数组
我想检查两个数组值是否相同。我正在使用带有复选框的表单。是否需要显示复选框数组中的任何更改?。有人能帮我吗。两个这样的数组比较Javascript/AngularJS中的两个数组,javascript,angularjs,Javascript,Angularjs,我想检查两个数组值是否相同。我正在使用带有复选框的表单。是否需要显示复选框数组中的任何更改?。有人能帮我吗。两个这样的数组 array1 = ['1','2','3']; //previous checklist array2 = ['3','2','1']; //new checklist 下面是一个比较两个数组的片段 var array1 = [1,2,3]; var array2 = [1,2,3]; var result = array1.length == array2.lengt
array1 = ['1','2','3']; //previous checklist
array2 = ['3','2','1']; //new checklist
下面是一个比较两个数组的片段
var array1 = [1,2,3];
var array2 = [1,2,3];
var result = array1.length == array2.length && array1.every(function(element, index) {
return element === array2[index];
});
alert(result);
但是,一个数组中的1,2,3不等于另一个数组中的3,2,1。您没有提到要检查数组元素或仅检查数组
如果需要比较两个位置不同的阵列,请尝试以下操作
var array1=[1,2,3,4]
var array2=[1,4,3,2]
var result = array1.length==array2.length && array1.every(function(v,i) { return ($.inArray(v,array2) != -1)})
console.log(result)
我明白了:
let arr = ['1', '2', '3'];
let arr2 = ['3', '1', '2'];
let finalResult = arr.length === arr2.length;
arr.forEach(function (item) {
if (!finalResult) {
return;
}
if (arr2.find(function (item2) { return item === item2; }) === undefined) {
finalResult = false;
}
});
console.log(finalResult);
//重写现有方法时发出警告
if(Array.prototype.equals)
console.warn(“覆盖现有的Array.prototype.equals。可能的原因:新API定义了方法,存在框架冲突,或者代码中包含了双重内容。”);
//将.equals方法附加到数组的原型以在任何数组上调用它
Array.prototype.equals=函数(数组){
//如果另一个数组是falsy值,则返回
if(!数组)
返回false;
//比较长度-可以节省大量时间
if(this.length!=array.length)
返回false;
for(var i=0,l=this.length;i 对于(var j=0,k=compareToArray.length;j最后,我有了比较javascript中两个数组的完美答案
var array1 = ["1","2","3"];
var arr1 = array1.map(function (x) {
return parseInt(x, 10);
});
var array2 = ["3","2","1"];
var arr2 = array2.map(function (x) {
return parseInt(x, 10);
});
var finalArray1 = arr1.sort();
var finalArray2 = arr2.sort();
var is_same = finalArray1.length == finalArray2.length && finalArray1.every(function(element, index) {
return element === finalArray2[index];
});
if(is_same == true){
console.log('match');
}else{
console.log('not match');
}
请阅读并向我们展示您所做的尝试。这样我们就可以从这一点开始讨论您的问题。可能的重复我需要比较两个不同位置的阵列。
var array1 = ["1","2","3"];
var arr1 = array1.map(function (x) {
return parseInt(x, 10);
});
var array2 = ["3","2","1"];
var arr2 = array2.map(function (x) {
return parseInt(x, 10);
});
var finalArray1 = arr1.sort();
var finalArray2 = arr2.sort();
var is_same = finalArray1.length == finalArray2.length && finalArray1.every(function(element, index) {
return element === finalArray2[index];
});
if(is_same == true){
console.log('match');
}else{
console.log('not match');
}