


Программирование
+2Код не проходит проверку кодварс на поиск уникального числа в массиве js
половину тестов проходит,половину нет, неп проходит тест если уникальное число типа float и бесконечность+-.Почему?
12345678
function findUniq(arr) {
arr = parseInt(
arr.filter((el, i, arr) => arr.indexOf(el) === arr.lastIndexOf(el))
);
return arr;
}
На входе массив, цифр где все элементы одинаковы, и один уникальный.
По дате
По рейтингу
наверное из-за учета типа, такое выдаст 1, хотя должно 2:
1
findUniq([1,1,'1',2,3,3,4,4])
там же должен быть чеклист проверок и на каждом пунке должна быть отметка пройдено или нет, мы не можем угадать какие у тебя там проверки, ты ничего не скинул нам.
хоть '1' и строка, но все еще является числом.
пробуй поставить плюсик к каждому из el в условии (для принудительного приведения к типу number):
1
arr.indexOf(+el) === arr.lastIndexOf(+el)
с таким вариантом уже выдает 2
123456789101112131415161718192021
const uniqueValue = (arr) => {
const count = (seq, value) => {
let n = 0;
for (let item of seq) {
if (value === item) {
++n;
}
}
return n;
};
let box = arr.flat(Infinity);
for (let item of box) {
if (count(box, item) == 1) {
return item;
}
}
return false;
};
let arr = [1, 4, 1, Infinity, 3, 1, 3, 4, 3, 4];
let res = uniqueValue(arr);
if (res) console.log(res);
Больше по теме