#javascript #arrays #duplicates
#javascript #массивы #дубликаты
Вопрос:
Я хочу, чтобы следующая функция при вызове возвращала массив элементов без дубликатов
const removeDuplicates = nums => {
var result = Array.from(new Set(nums));
console.log(result)
}
removeDuplicates([1,1,2,2,3])
В принципе, я хочу, чтобы эта функция работала без console.log
но с ее вызовом, вот так removeDuplicates([1,1,2,2,3])
Пожалуйста, обратите внимание, что return
в этом случае не работает, поскольку это останавливает вызов функции.
PS Я прочитал много ответов, связанных с моим вопросом, однако они конкретно не отвечают на мой вопрос; в частности, я хочу вызвать removeDuplicates
функцию с предоставленным массивом элементов, например так: removeDuplicates([1,1,2,2,3])
и я ожидаю, что она вернет элементы без дубликатов.
Комментарии:
1. Почему
return Array.from(new Set(nums))
это не вариант?2. просто верните Array.from…
3. Да, спасибо, repl, на котором я пробовал код, не работал, я думаю, потому что я решил создать JS / HTML / CSS repl вместо просто Javascript
4. При этом repl может войти в консоль или сделать что-то в dom с результатами. Скрипт запущен, вы просто ничего не делаете с результатами
Ответ №1:
Я ожидаю, что она вернет элементы
Итак, добавьте return
const removeDuplicates = nums => {
return Array.from(new Set(nums));
}
const res = removeDuplicates([1, 1, 2, 2, 3])
console.log(res)
Или используйте неявный возврат
const removeDuplicates = nums => Array.from(new Set(nums));
Комментарии:
1. Да, это очень логично / правильно; однако это не работает, я пробую это на repl, вот ссылка: repl.it/@umbur/FaintSlushyModel
2. Я не вижу, чтобы вы что-то делали с res в repl
3. Код, который вы предоставили, находится в script.js этого repl; однако он отлично работает на этом repl, который был создан путем выбора только JS: repl.it/@umbur/HotSerpentineProcedurallanguage
4. Понять … добавьте это и запустите снова
document.body.innerHTML = JSON.stringify(res)
, и если вы войдете в консоль, консоль repl будет работать5. Не работает, но я думаю, это не важно, так как проблема решена сейчас; еще раз спасибо!