93 lines
2.0 KiB
Markdown
93 lines
2.0 KiB
Markdown
![]() |
---
|
||
|
id: 587d8254367417b2b2512c70
|
||
|
title: ES6 で Set を作成する・Set に追加する
|
||
|
challengeType: 1
|
||
|
forumTopicId: 301636
|
||
|
dashedName: create-and-add-to-sets-in-es6
|
||
|
---
|
||
|
|
||
|
# --description--
|
||
|
|
||
|
これまで ES5 を使って作業してきた方も、これから ES6 で同じようなことを行います。 その方がはるかに簡単です。 ES6 には `Set` というデータ構造が組み込まれており、これまで手作業で書いていた操作の多くが既に用意されています。 それを見てみましょう。
|
||
|
|
||
|
新しい空のセット (集合) を作成するには次のようにします。
|
||
|
|
||
|
```js
|
||
|
var set = new Set();
|
||
|
```
|
||
|
|
||
|
1 つの値を持つセットを作成できます。
|
||
|
|
||
|
```js
|
||
|
var set = new Set(1);
|
||
|
```
|
||
|
|
||
|
配列を使用してセットを作成できます。
|
||
|
|
||
|
```js
|
||
|
var set = new Set([1, 2, 3]);
|
||
|
```
|
||
|
|
||
|
セットを作成したら、`add` メソッドを使用して任意の値を追加できます。
|
||
|
|
||
|
```js
|
||
|
var set = new Set([1, 2, 3]);
|
||
|
set.add([4, 5, 6]);
|
||
|
```
|
||
|
|
||
|
セットは重複値を含むことができないデータ構造であることを思い出してください。
|
||
|
|
||
|
```js
|
||
|
var set = new Set([1, 2, 3, 1, 2, 3]);
|
||
|
// set contains [1, 2, 3] only
|
||
|
```
|
||
|
|
||
|
# --instructions--
|
||
|
|
||
|
この演習では、`1、2、3、'Taco'、'Cat'、'Awesome'` という値のセットを返してください。
|
||
|
|
||
|
# --hints--
|
||
|
|
||
|
`Set` には `1、2、3、Taco、Cat、Awesome` という値のみを含める必要があります。
|
||
|
|
||
|
```js
|
||
|
assert(
|
||
|
(function () {
|
||
|
var test = checkSet();
|
||
|
return (
|
||
|
test.size == 6 &&
|
||
|
test.has(1) &&
|
||
|
test.has(2) &&
|
||
|
test.has(3) &&
|
||
|
test.has('Taco') &&
|
||
|
test.has('Cat') &&
|
||
|
test.has('Awesome')
|
||
|
);
|
||
|
})()
|
||
|
);
|
||
|
```
|
||
|
|
||
|
# --seed--
|
||
|
|
||
|
## --seed-contents--
|
||
|
|
||
|
```js
|
||
|
function checkSet() {
|
||
|
var set = new Set([1, 2, 3, 3, 2, 1, 2, 3, 1]);
|
||
|
// Only change code below this line
|
||
|
|
||
|
// Only change code above this line
|
||
|
console.log(Array.from(set));
|
||
|
return set;
|
||
|
}
|
||
|
|
||
|
checkSet();
|
||
|
```
|
||
|
|
||
|
# --solutions--
|
||
|
|
||
|
```js
|
||
|
function checkSet(){var set = new Set([1,2,3,'Taco','Cat','Awesome']);
|
||
|
return set;}
|
||
|
```
|