[JS]二つのArrayの中身が同一か判定する簡単な方法
二つのArrayの中身が同一か判定する方法を書いておきます。Array#every
とArray#includes
の組み合わせなどを使う方法もありますが、複雑だったり、古いブラウザでは使えなかったりするので、俺の知っている簡単な方法を紹介します。
方法
JSON.stringify
を使う。
例
let a = [1, 2, 3, {a: 1}];
let b = [3, 2, 1, {a: 1}];
JSON.stringify(a.concat().sort()) === JSON.stringify(b.concat().sort()) // true
注意
この方法ではnull
とundefined
が同じものとして判定されます。JSON#stringify
がundefined
をnull
に変換するためです。
JSON.stringify([null].concat().sort()) === JSON.stringify([undefined].concat().sort())
// true
ディスカッション
コメント一覧
まだ、コメントがありません