QA@IT
«質問へ戻る

カッコのバランスが取れなかった

1138
本文
 手動でイテレートするのが面倒だったのと、ディープな比較が不要だったので、取り敢えず以下のように書きました。
 
 ```javascript
-JSON.stringify(arr) === '[1,2,3]');
+JSON.stringify(arr) === '[1,2,3]'
 ```
 
 順序も同じ、順不同で良いなど、等価性の評価は自明ではないのかもしれませんが、こういう場合はどうやって比較するのが一般的なのでしょうか?

JavaScriptで2つの配列の要素が同じかどうか比較するには?

Arrayのオブジェクト同士を比較すると、

> a = new Array(1, 2, 3);
[ 1, 2, 3 ]
> b = new Array(1, 2, 3);
[ 1, 2, 3 ]
> a == b
false
> a === b
false

と要素が同じでも false になってしまいます。この理由は何でしょうか? オブジェクトの参照が一致しない限り false ?

手動でイテレートするのが面倒だったのと、ディープな比較が不要だったので、取り敢えず以下のように書きました。

JSON.stringify(arr) === '[1,2,3]'

順序も同じ、順不同で良いなど、等価性の評価は自明ではないのかもしれませんが、こういう場合はどうやって比較するのが一般的なのでしょうか?

Arrayのオブジェクト同士を比較すると、

```javascript
> a = new Array(1, 2, 3);
[ 1, 2, 3 ]
> b = new Array(1, 2, 3);
[ 1, 2, 3 ]
> a == b
false
> a === b
false
```

と要素が同じでも false になってしまいます。この理由は何でしょうか? オブジェクトの参照が一致しない限り false ?

手動でイテレートするのが面倒だったのと、ディープな比較が不要だったので、取り敢えず以下のように書きました。

```javascript
JSON.stringify(arr) === '[1,2,3]'
```

順序も同じ、順不同で良いなど、等価性の評価は自明ではないのかもしれませんが、こういう場合はどうやって比較するのが一般的なのでしょうか?

質問を投稿

JavaScriptで2つの配列の要素が同じかどうか比較するには?

Arrayのオブジェクト同士を比較すると、

> a = new Array(1, 2, 3);
[ 1, 2, 3 ]
> b = new Array(1, 2, 3);
[ 1, 2, 3 ]
> a == b
false
> a === b
false

と要素が同じでも false になってしまいます。この理由は何でしょうか? オブジェクトの参照が一致しない限り false ?

手動でイテレートするのが面倒だったのと、ディープな比較が不要だったので、取り敢えず以下のように書きました。

JSON.stringify(arr) === '[1,2,3]');

順序も同じ、順不同で良いなど、等価性の評価は自明ではないのかもしれませんが、こういう場合はどうやって比較するのが一般的なのでしょうか?

Arrayのオブジェクト同士を比較すると、

```javascript
> a = new Array(1, 2, 3);
[ 1, 2, 3 ]
> b = new Array(1, 2, 3);
[ 1, 2, 3 ]
> a == b
false
> a === b
false
```

と要素が同じでも false になってしまいます。この理由は何でしょうか? オブジェクトの参照が一致しない限り false ?

手動でイテレートするのが面倒だったのと、ディープな比較が不要だったので、取り敢えず以下のように書きました。

```javascript
JSON.stringify(arr) === '[1,2,3]');
```

順序も同じ、順不同で良いなど、等価性の評価は自明ではないのかもしれませんが、こういう場合はどうやって比較するのが一般的なのでしょうか?