Я пытаюсь .push() элементы массива в обоих массивах, которые не совпадают друг с другом, а затем присваиваю их новому пустому массиву, который я создал... но он просто выполняет итерацию и возвращает 60 повторяющихся элементов.
Что я делаю не так?
Примечание: я все еще изучаю этот предмет, поэтому извините, если то, что я делаю, глупо, ха-ха.
const bobsFollowers = ['James', 'Caleb', 'Rita', 'Samantha'];
const tinasFollowers = ['Maurice', 'Caleb', 'Samantha'];
const mutualFollowers = [];
const notMutualFollowers = [];
for (let i = 0; i < bobsFollowers.length; i++) {
for (let j = 0; j < tinasFollowers.length; j++) {
if (bobsFollowers[i] === tinasFollowers[j]) {
mutualFollowers.push(tinasFollowers[j]);
}
for (let x = 0; x < tinasFollowers.length && bobsFollowers.length; x++) {
if (bobsFollowers[i] !== tinasFollowers[j] && tinasFollowers[j] !== bobsFollowers[i])
notMutualFollowers.push(bobsFollowers[i], tinasFollowers[j]);
}
}
}
console.log(mutualFollowers);
console.log(notMutualFollowers);
1 ответ
Я думаю, что это так. Ojs: Мне нравится определять константу, такую как currentValue, просто для большего смысла и облегчения понимания.
for (let i = 0; i < bobsFollowers.length; i++) {
const currentName = bobsFollowers[i];
let isHaveSomeInArray = false;
for (let j = 0; j < tinasFollowers.length; j++) {
const currentComparation = tinasFollowers[j];
if (currentName === currentComparation) {
mutualFollowers.push(currentComparation);
isHaveSomeInArray = true;
}
}
if (!isHaveSomeInArray) {
notMutualFollowers.push(currentName);
}
}
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript/JS) и его различных диалектах/реализациях (кроме ActionScript). Имейте в виду, что JavaScript — это НЕ то же самое, что Java! Включите все ярлыки, относящиеся к вашему вопросу; например, [node.js], [jQuery], [JSON], [ReactJS], [angular], [ember.js], [vue.js], [typescript], [svelte] и т. д.
x < tinasFollowers.length && bobsFollowers.length;
торчит передо мной. Если длины больше 0, то они являются истинными, но не числовыми и поэтому несопоставимы сx
.x
для чего-то во втором внутреннем цикле?