2018-10-10 22:03:03 +00:00
|
|
|
|
---
|
|
|
|
|
id: 587d8254367417b2b2512c6f
|
2020-12-16 07:37:30 +00:00
|
|
|
|
title: 对两组数据执行子集检查
|
2018-10-10 22:03:03 +00:00
|
|
|
|
challengeType: 1
|
|
|
|
|
videoUrl: ''
|
|
|
|
|
---
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --description--
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
在本练习中,我们将对2组数据执行子集测试。我们将在我们的`Set`数据结构上创建一个名为`subset` 。这将比较第一组与第二组,如果第一组完全包含在第二组中,则它将返回true。例如,如果`setA = ['a','b']`和`setB = ['a','b','c','d']` ,则setA和setB的子集为: `setA.subset(setB)`应该是`true` 。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --hints--
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
你的`Set`类应该有一个`union`方法。
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
```js
|
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var test = new Set();
|
|
|
|
|
return typeof test.subset === 'function';
|
|
|
|
|
})()
|
|
|
|
|
);
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
第一个Set()包含在第二个Set中
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 07:37:30 +00:00
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var setA = new Set();
|
|
|
|
|
var setB = new Set();
|
|
|
|
|
setA.add('a');
|
|
|
|
|
setB.add('b');
|
|
|
|
|
setB.add('c');
|
|
|
|
|
setB.add('a');
|
|
|
|
|
setB.add('d');
|
|
|
|
|
var subsetSetAB = setA.subset(setB);
|
|
|
|
|
return subsetSetAB === true;
|
|
|
|
|
})()
|
|
|
|
|
);
|
|
|
|
|
```
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
`["a", "b"].subset(["a", "b", "c", "d"])`应该返回`true` “)
|
|
|
|
|
|
|
|
|
|
```js
|
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var setA = new Set();
|
|
|
|
|
var setB = new Set();
|
|
|
|
|
setA.add('a');
|
|
|
|
|
setA.add('b');
|
|
|
|
|
setB.add('a');
|
|
|
|
|
setB.add('b');
|
|
|
|
|
setB.add('c');
|
|
|
|
|
setB.add('d');
|
|
|
|
|
var subsetSetAB = setA.subset(setB);
|
|
|
|
|
return subsetSetAB === true;
|
|
|
|
|
})()
|
|
|
|
|
);
|
2018-10-10 22:03:03 +00:00
|
|
|
|
```
|
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
`["a", "b", "c"].subset(["a", "b"])`应返回`false` “)
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
```js
|
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var setA = new Set();
|
|
|
|
|
var setB = new Set();
|
|
|
|
|
setA.add('a');
|
|
|
|
|
setA.add('b');
|
|
|
|
|
setA.add('c');
|
|
|
|
|
setB.add('a');
|
|
|
|
|
setB.add('b');
|
|
|
|
|
var subsetSetAB = setA.subset(setB);
|
|
|
|
|
return subsetSetAB === false;
|
|
|
|
|
})()
|
|
|
|
|
);
|
|
|
|
|
```
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
`[].subset([])`应该返回`true`
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
```js
|
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var setA = new Set();
|
|
|
|
|
var setB = new Set();
|
|
|
|
|
var subsetSetAB = setA.subset(setB);
|
|
|
|
|
return subsetSetAB === true;
|
|
|
|
|
})()
|
|
|
|
|
);
|
|
|
|
|
```
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
`["a", "b"].subset(["c", "d"])`应返回`false` “)
|
2018-10-10 22:03:03 +00:00
|
|
|
|
|
|
|
|
|
```js
|
2020-12-16 07:37:30 +00:00
|
|
|
|
assert(
|
|
|
|
|
(function () {
|
|
|
|
|
var setA = new Set();
|
|
|
|
|
var setB = new Set();
|
|
|
|
|
setA.add('a');
|
|
|
|
|
setA.add('b');
|
|
|
|
|
setB.add('c');
|
|
|
|
|
setB.add('d');
|
|
|
|
|
var subsetSetAB = setA.subset(setB);
|
|
|
|
|
return subsetSetAB === false;
|
|
|
|
|
})()
|
|
|
|
|
);
|
2018-10-10 22:03:03 +00:00
|
|
|
|
```
|
2020-08-13 15:24:35 +00:00
|
|
|
|
|
2020-12-16 07:37:30 +00:00
|
|
|
|
# --solutions--
|
|
|
|
|
|