2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
id: a39963a4c10bc8b4d4f06d7e
|
2020-12-16 00:37:30 -07:00
|
|
|
|
title: 瞄准和消灭
|
2018-10-10 18:03:03 -04:00
|
|
|
|
challengeType: 5
|
2020-09-07 16:10:29 +08:00
|
|
|
|
forumTopicId: 16046
|
2018-10-10 18:03:03 -04:00
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --description--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
在这道题目中,我们要写一个叫`destroyer`的函数。传给它的第一个参数是数组,我们称他为初始数组。后续的参数数量是不确定的,可能有一个或多个。你需要做的是,从初始数组中移除所有与后续参数相等的元素,并返回移除元素后的数组。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
**注意:**
|
|
|
|
|
你可以使用`arguments`对象,也可以使用`...`,即“剩余参数”(Rest Parameters)语法。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
如果你遇到了问题,请点击[帮助](https://forum.freecodecamp.one/t/topic/157)。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --hints--
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`destroyer([1, 2, 3, 1, 2, 3], 2, 3)`应该返回`[1, 1]`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert.deepEqual(destroyer([1, 2, 3, 1, 2, 3], 2, 3), [1, 1]);
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3)`应该返回`[1, 5, 1]`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert.deepEqual(destroyer([1, 2, 3, 5, 1, 2, 3], 2, 3), [1, 5, 1]);
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`destroyer([3, 5, 1, 2, 2], 2, 3, 5)`应该返回`[1]`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert.deepEqual(destroyer([3, 5, 1, 2, 2], 2, 3, 5), [1]);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
`destroyer([2, 3, 2, 3], 2, 3)`应该返回`[]`。
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
```js
|
|
|
|
|
assert.deepEqual(destroyer([2, 3, 2, 3], 2, 3), []);
|
|
|
|
|
```
|
2018-10-10 18:03:03 -04:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`destroyer(['tree', 'hamburger', 53], 'tree', 53)`应该返回`['hamburger']`。
|
2020-09-07 16:10:29 +08:00
|
|
|
|
|
2018-10-10 18:03:03 -04:00
|
|
|
|
```js
|
2020-12-16 00:37:30 -07:00
|
|
|
|
assert.deepEqual(destroyer(['tree', 'hamburger', 53], 'tree', 53), [
|
|
|
|
|
'hamburger'
|
|
|
|
|
]);
|
|
|
|
|
```
|
2020-09-07 16:10:29 +08:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
`destroyer(['possum', 'trollo', 12, 'safari', 'hotdog', 92, 65, 'grandma', 'bugati', 'trojan', 'yacht'], 'yacht', 'possum', 'trollo', 'safari', 'hotdog', 'grandma', 'bugati', 'trojan')`应该返回`[12,92,65]`。
|
2020-09-07 16:10:29 +08:00
|
|
|
|
|
2020-12-16 00:37:30 -07: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-10 18:03:03 -04:00
|
|
|
|
```
|
2020-08-13 17:24:35 +02:00
|
|
|
|
|
2020-12-16 00:37:30 -07:00
|
|
|
|
# --solutions--
|
|
|
|
|
|