let numbers = [7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7];
function stray(numbers) {
let chislo;
if (numbers[1] === numbers[2]) {
chislo = numbers[1];
} else {
chislo = numbers[0];
}
let lishnee;
for (let i = 0; i < numbers.length; i++) {
if (numbers[i] !== chislo) {
lishnee = numbers[i];
return lishnee;
}
}
return lishnee;
}
alert(stray(numbers));
let numbers = [7, 8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7];
function stray(numbers) {
let chislo = numbers[0];
if (chislo !== numbers[1]) {
chislo = numbers[2];
}
return numbers.find(x => x !== chislo);
}
alert(stray(numbers));
Задание: дан массив с одинаковыми числами и одним отличающимся (например [1,1,1,1,2,1,1])
я написал код, который сначала вычисляет повторяющееся число(переменная chislo), а затем с помощью for и if, он находил число, неравное переменной chislo , записывал его в переменную lishnee и возвращал.
Код работает всегда, кроме случаев, когда лишнее число находится именно вторым в массиве, если лишнее число первое, третье и т.д., то всё работает, но если число второе по счёту, alert выдаёт undefined.
Помогите найти ошибку
numbers = [7,8,7,7,7,7,7,7,7,7,7,7,7,7,7]
function stray(numbers) {
if (numbers[1]= numbers[2]){
chislo = numbers[1]
} else {
chislo = numbers[3]
}
for ( i = 0; i <= numbers.length; i++){
if (numbers[i] != chislo) {
let lishnee = numbers[i];
return (lishnee);
}
}
return (lishnee);
}
alert (stray(numbers))