关于如何比较多个数组的确切顺序和内容的建议
advice on how to compare the exact order and contents of multiple arrays
目前我正在尝试使用 for.. 比较 2 个数组的内容。循环中,但没有成功。我熟悉如何分别获取每个数组的内容,但不确定如何匹配每个内容。基本上,如果数组的相同索引值中的 2 个值不匹配,我想返回 false 否则继续。我的最新尝试是我尝试将两个数组放在同一个 for..使用不同的变量,然后比较这些变量。如果有人能就此提出建议,那就太好了。
.JS
var list1 = [1, 2, 3, 4, 5, 6];
var list2 = [1, 2, 3, 4, 5, 'e'];
var i, j;
for (i in list1 && j in list2) {
if (list1[i] !== list2[j]) {
return false
} else {
return true
}
}
/*for ( j in list2 ) {
console.log( list2[j] )
}*/
数组元素的迭代是使用法线 for 循环完成的:
if (list1.length != list2.length) {
// Different length, cannot be equal
return false;
}
// Check if there is a mismatch
for (var i = 0; i < list1.length; i++) {
if (list1[i] !== list2[i]) {
return false; // Return here, because we don't need to compare the rest
}
}
return true;
var i, l = list1.length;
for( i = 0; i < l; ++i ) {
if( list1[i] !== list2[i] ) {
return false; //Compare one by one
}
}
if( i !== list2.length ) {
return false; // In case list2 was longer than list1
}
return true;
为此使用常规循环,并且不要在循环内返回true
,那么您将只比较第一个元素:
for (var i = 0; i < list1.length; i++) {
if (list1[i] !== list2[i]) {
return false
}
}
return true;
这是解决有问题的样本数据问题的最简单方法,而不是好奇心。
return list1.toString() == list2.toString();
它将处理大部分数据,包括:带逗号的字符串并检查类型相等性。
顺便说一句。
我认为,我找到了其他方式 - 讨论:
return !(list1<list2 || list1>list2);
任何人?
相关文章:
- 比较从函数和生成的日期对象
- 如何使用 node.js 比较两个 json 数组
- ajax请求的顺序总是不同的
- 按照选项卡索引的顺序循环一个jQuery选择
- jQuery自定义验证比较多个输入的序列
- 匹配一个单词,其中候选人可以跨越顺序组(跨度)
- 按顺序添加和删除类
- 反向字符串比较
- 按我自己的类克隆另一个元素的内容和顺序
- 通过JSON&比较时间
- 将DOM节点值与字符串Javascript进行比较
- 关于如何比较多个数组的确切顺序和内容的建议
- 记住比较器函数的参数顺序的技巧是什么
- 按字母顺序比较 2 个字符串以进行排序
- 主干:使用比较器反向采集顺序
- 将数组与对象键进行比较并保持顺序
- Javascript的答案会根据比较顺序而改变
- Javascript比较运算符顺序
- 为什么角顺序自定义比较器不能工作
- 比较运算符中操作数的顺序