Такое ощущение будто в .map асинхронная функция не дожидается своих await, а сразу возвращает промис.
const arr = await Promise.all([1, 2, 3, 4, 5].map(async (value) => 2 * await asyncThing(value)));
console.log(arr); // [2, 4, 6, 8, 10]
А теперь вопрос, как быть с массивами?
Он запрятал кусок кода, что если на сайт входит юзер с ником xxx, то удалить всю базу данных пользователей.
Что делать?
Как доверять сердце своего проекта незнакомых людям?
Особенно интересно, как этот вопрос решается на крупных сайтах.
Может ли там кто-то взять и завалить сайт в одиночку?
В общем, очень интересная тема, в которой ничего не представляю.
const result = elements.filter(n => !used.some(m => m.id === n.id));
const result = elements.filter(((ids, n) => !ids.includes(n.id)).bind(null, used.map(n => n.id)));
const result = elements.filter(function(n) {
return !this.has(n.id);
}, new Set(used.map(n => n.id)));
const result = Object.values(used.reduce(
(acc, n) => (delete acc[n.id], acc),
elements.reduce((acc, n) => (acc[n.id] = n, acc), {})
));
const result = [...used.reduce(
(acc, n) => (acc.delete(n.id), acc),
new Map(elements.map(n => [ n.id, n ]))
).values()];