2.4 KiB
id, title, challengeType, forumTopicId, dashedName
id | title | challengeType | forumTopicId | dashedName |
---|---|---|---|---|
a39963a4c10bc8b4d4f06d7e | Пошук і Видалення | 5 | 16046 | seek-and-destroy |
--description--
Ви отримаєте початковий масив (перший аргумент у функції destroyer
), а потім один або декілька аргументів. Видалити всі елементи з початкового масиву, які мають таке ж значення, що і ці аргументи.
Примітка: Потрібно використовувати об'єкт arguments
.
--hints--
destroyer([1, 2, 3, 1, 2, 3], 2, 3)
повинен повертатися як [1, 1]
.
assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1]);
destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3)
повинен повертатися як [1, 5, 1]
.
assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1]);
destroyer([3, 5, 1, 2, 2], 2, 3, 5)
повинен повертатися як [1]
.
assert.deepEqual(destroyer([3, 5, 1, 2, 2], 2, 3, 5), [1]);
destroyer([2, 3, 2, 3], 2, 3)
повинен повертатися як []
.
assert.deepEqual(destroyer([2, 3, 2, 3], 2, 3), []);
destroyer(["tree", "hamburger", 53], "tree", 53)
повинен повертатися як ["hamburger"]
.
assert.deepEqual(destroyer(['tree', 'hamburger', 53], 'tree', 53), [
'hamburger'
]);
destroyer(["possum", "trollo", 12, "safari", "hotdog", 92, 65, "grandma", "bugati", "trojan", "yacht"], "yacht", "possum", "trollo", "safari", "hotdog", "grandma", "bugati", "trojan")
повинен повертатися як [12,92,65]
.
assert.deepEqual(
destroyer(
[
'possum',
'trollo',
12,
'safari',
'hotdog',
92,
65,
'grandma',
'bugati',
'trojan',
'yacht'
],
'yacht',
'possum',
'trollo',
'safari',
'hotdog',
'grandma',
'bugati',
'trojan'
),
[12, 92, 65]
);
--seed--
--seed-contents--
function destroyer(arr) {
return arr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
--solutions--
function destroyer(arr) {
var hash = Object.create(null);
[].slice.call(arguments, 1).forEach(function(e) {
hash[e] = true;
});
return arr.filter(function(e) { return !(e in hash);});
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);