0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【JS】配列やオブジェクトは比較できない?比較できる場合とできない場合。

Posted at

配列やオブジェクトの要素同士を比較するときの注意点メモ。

##個別に定義した場合は比較できない
配列やオブジェクトの中身の値が同じでも、等価式にするとfalseになる。

▼配列同士の比較
image.png

▼2次元配列の場合
image.png

▼オブジェクトの場合
image.png

▼配列内のオブジェクトの場合
image.png

いずれの場合も見た目は完全に一致してるが、評価結果はことごとくfalseになる。

これは、各配列の要素を指すポインタが異なる場所を示しているため。


##比較可能な場合 元の配列やオブジェクトの要素を参照した場合は比較が可能になる。

▼配列の場合
image.png

▼オブジェクトの場合
image.png


##filterの応用 上記の結果とfilterを使うと、必要な要素のみ残したり、除外したりすることができる。

例えば除外する場合は以下のようになる。

▼配列の場合

image.png

**▼オブジェクトの場合**
image.png

配列やオブジェクトの要素をごっそりフィルタリングしたい場合は評価式の評価対象に注意が必要。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?