Это то, что у меня есть, в настоящее время я могу понять разницу. Но, как вы увидите из массивов, которые я сравниваю, я хочу вернуть 2 значения. То есть, если я сравниваю Первый массив в a1 с первым массивом в a2, я должен получить разницу, аналогично, если я сравниваю Второй массив в a1 со вторым в a2, я должен получить разницу, которая равна 4. Прямо сейчас Я получаю только одно значение обратно.
var findDivergence = function (a1, a2) {
for (let q = 0; q < a1.length; q++) {
var result = [];
for (i = 0; i < a1[q].length; i++) {
if (a1[q][i] !== a2[q][i]) {
result.push(i);
console.info(result.length)
}
}
}
return `Length is : ${result.length}`;
};
console.info(findDivergence([
["a", "b", "c", "d", "e", "f", "g"],
["a", "b", "c", "d", "e", "f", "g"]
],
[
["a", "b", "d", "r", "e", "q", "g"],
["a", "2", "d", "r", "e", "q", "g"]
]
));


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Так?
var zip = function(a1, a2) {
const len = a1.length < a2.length ? a2.length : a1.length;
const result = [];
for (let i = 0; i < len; i++) {
result.push([a1[i], a2[i]]);
}
return result;
}
var findDivergence = function (a1, a2) {
const result = [];
for (const [aa, bb] of zip(a1, a2)) {
let divergences = 0;
for (const [a, b] of zip(aa, bb)) {
if (a !== b) divergences++;
}
result.push(`Length is ${divergences}`);
}
return result;
};
console.info(findDivergence([["a", "b", "c", "d", "e", "f", "g"], ["a", "b", "c", "d", "e", "f", "g"]], [["a", "b", "d", "r", "e", "q", "g"], ["a", "2", "d", "r", "e", "q", "g"]]));Спасибо, это было то, что я хотел. Я думаю, что сначала менял переменную результата после каждой итерации.
Если я правильно понял, вам нужна основная переменная (желаемый результат) для накопленных различий в виде вложенных массивов.
var findDivergence = function (a1, a2) {
var desiredResult = [];
for (let q = 0; q < a1.length; q++) {
var result = [];
for (i = 0; i < a1[q].length; i++) {
if (a1[q][i] !== a2[q][i]) {
result.push(i);
console.info(result.length)
}
} desiredResult.push(result);
}
return desiredResult;
};
console.info(findDivergence([["a", "b", "c", "d", "e", "f", "g"], ["a", "b", "c", "d", "e", "f", "g"]], [["a", "b", "d", "r", "e", "q", "g"], ["a", "2", "d", "r", "e", "q", "g"]]));Большое спасибо, он делает именно то, что я хотел.
пожалуйста, добавьте результат.