var array1 = ["Bob", "Jason", "Fred"];
var array2 = ["Bob", "Jason", "Fred"]; // result: true, expected: true
or
var array1 = ["Bob", "Jason", "Fred"];
var array2 = ["Bob", "Fred", "Jason"]; // result: false, expected: False
or
var array1 = ["Bob", "Jason", "Fred"];
var array2 = ["Bob", "Jason"]; // result: true, expected: True
or
var array1 = ["Jason", "Fred", "Bob"];
var array2 = ["Bob", "Jason"]; // result: false, expected: False
or
var array1 = ["Jason", "Bob"];
var array2 = ["Jason", "Sue", "Bob"]; // result: false, expected: True - just because array 2 contains sue and array 1 doesn't, doesn't mean jason and bob aren't in the right order. They are. We need to ignore the fact sue is interrupting them.
or
var array1 = ["Jason", "Sue", "Bob"];
var array2 = ["Jason", "Bob", "Sue"]; // result: false, expected: False
or
var array1 = ["Sue", "Bob"];
var array2 = ["Jason", "Bob", "Sue"]; // result: false, expected: False
or
var array1 = ["Bob", "Sue"];
var array2 = ["Jason", "Bob", "Sue"]; // result: false, expected: True - just because jason is playing third wheel doesn't mean bob and sue aren't in the correct order. they are. we need to ignore jason.
or
var array1 = ["Bob", "Sue", "Bob"];
var array2 = ["Bob", "Bob", "Sue"]; // result: false, expected: False
or
var array1 = ["Bob", "Sue", "Bob"];
var array2 = ["Bob", "Sue", "Bob"]; // result: true, expected: true
or
var array1 = ["Bob", "Sue", "Bob"];
var array2 = ["Sue", "Bob"]; // result: false, expected: true - in this scenario, we have two Bobs. while Bob followed by Sue is false, sue followed by bob is true. we need to ignore the first Bob.
到目前为止,我已经完成了以下工作:
if (array1.length > array2.length) {
var arrayLength = array1.length;
} else if (array1.length < array2.length) {
var arrayLength = array2.length;
} else {
var arrayLength = array1.length;
}
for (var i = 0; i < arrayLength; i++){
if (array1[i] !== array2[i]) {
return false;
} else {
return true;
}
}
我的问题是,以上代码并不总是产生期望的结果。也就是说,如果这两个数组的长度相同,那么我会得到期望的结果,但如果它们的长度不同,我就无法得到期望的结果。
我需要忽略缺少或增加的数值,仅仅考虑它们是否按照相同的顺序排列,即使其中存在缺少或增加的数值。
if (array1[i] !== array2[i]) { return false; }
- Felix Klingarray1 = ["Jason", "Fred"]; array2 = ["Bob", "Jason", "Fred"];
呢? - Felix Kling