2018-10-04 14:37:37 +01:00
---
id: a39963a4c10bc8b4d4f06d7e
title: Seek and Destroy
challengeType: 5
2019-07-31 11:32:23 -07:00
forumTopicId: 16046
2021-01-13 03:31:00 +01:00
dashedName: seek-and-destroy
2018-10-04 14:37:37 +01:00
---
2020-11-27 19:02:05 +01:00
# --description--
2021-03-02 16:12:12 -08:00
You will be provided with an initial array (the first argument in the `destroyer` function), followed by one or more arguments. Remove all elements from the initial array that are of the same value as these arguments.
2018-10-04 14:37:37 +01:00
2021-03-02 16:12:12 -08:00
**Note:** You have to use the `arguments` object.
2020-11-27 19:02:05 +01:00
# --hints--
`destroyer([1, 2, 3, 1, 2, 3], 2, 3)` should return `[1, 1]` .
```js
assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1]);
2018-10-04 14:37:37 +01:00
```
2020-11-27 19:02:05 +01:00
`destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3)` should return `[1, 5, 1]` .
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
```js
assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1]);
```
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
`destroyer([3, 5, 1, 2, 2], 2, 3, 5)` should return `[1]` .
2018-10-04 14:37:37 +01:00
```js
2020-11-27 19:02:05 +01:00
assert.deepEqual(destroyer([3, 5, 1, 2, 2], 2, 3, 5), [1]);
```
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
`destroyer([2, 3, 2, 3], 2, 3)` should return `[]` .
```js
assert.deepEqual(destroyer([2, 3, 2, 3], 2, 3), []);
2018-10-04 14:37:37 +01:00
```
2020-11-27 19:02:05 +01:00
`destroyer(["tree", "hamburger", 53], "tree", 53)` should return `["hamburger"]` .
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
```js
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")` should return `[12,92,65]` .
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
```js
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]
);
```
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
# --seed--
## --seed-contents--
```js
function destroyer(arr) {
return arr;
}
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
```
2018-10-04 14:37:37 +01:00
2020-11-27 19:02:05 +01:00
# --solutions--
2018-10-04 14:37:37 +01:00
```js
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);
```