Всем привет! Думаю, многие поломали голову над заданием. Я старался находиться в рамках материалов курса и не использовать функции типа lastIndexOf и проч. Прошу ревью моего кода)
let numbers = [1, 4, 5, 9, 2, 5, 1];
let uniqueNumbers = [];
for (let i = 0; i < numbers.length; i++) //пробегаем массив в "прямом" направлении
{
let haveRepeat = false; //вводим переменную, которая активируется при появлении повтора на каждом "пробеге"
for (let j = numbers.length; j >= 0; j--) //пробегаем массив в "обратном" направлении
{
if (i !== j && numbers[i] === numbers[j])
{
haveRepeat = true; //
}
}
if (!haveRepeat) {
uniqueNumbers.push(numbers[i]) //если повторений не было элемент i запишется в массив
};
//console.log(uniqueNumbers); //отслеживаем наполнение массива
}
2 лайка
Епта, я думал я наворотил, но у тебя вообще дичь))).
Вот мое решение, два часа мучался:
let numbers = [12, 12, 15, 7, 1, 15];
let uniqueNumbers = [];
let swap = [];
for (let i=0; i<=numbers.length-1; i++) {
if (numbers.indexOf(numbers[i], [fromIndex = i+1])<0 && swap.indexOf(numbers[i])<0) { uniqueNumbers.push(numbers[i])
}
else if (numbers.indexOf(numbers[i], [fromIndex = i+1])>=0) {
swap.push(numbers[i])
}
}
let numbers = [1, 1, 1, 6, 8, 8, 2, 410];
let uniqueNumbers = [];
for (let i = 0; i <= numbers.length - 1; i++) {
let boolVariable = false;
for (let j = 0; j <= numbers.length - 1; j++) {
if (i !== j && numbers[i] === numbers[j]) {
boolVariable = true;
}
}
if (boolVariable === false) {
uniqueNumbers.push(numbers[i]);
}
}
1 лайк
У меня целый день ушёл и то погуглил.)))
Главное - результат, код валиден) Я какое то задание с перебором и сортировкой по возрастанию два дня мучал чуть мозг не вытек, но без гугла.
@pitbrest ну-с, у тебя в коде есть хотя б “fromIndex”, чего в теории не было, вроде.
у меня решение “в лоб” без дополнительной информации - берем каждый элемент и сравниваем его со всеми остальными, кроме себя самого.
твое решение покороче, это хорошо)
1 лайк