現在、2つの配列の操作に関して悩んでいます。以下のような配列があるとします。
配列arrA [0,2]
配列arrB [0,1,2]
配列arrBに関しては[1,0]や[2]と可変します。
理想は、配列の中の長さと数値が同じ(順番は気にしない)だった場合に「true」「false」と判別できればいいのですが、ちょっとわからないので差分があった場合ということでfilter関数を使って以下の処理をしました。
let result = arrB.filter(item =>
arrA.indexOf(item) == -1
);
こちらだと仮にarrB[0,1,2]となった場合は「1」が差分となりresultに値が入るので長さが0ではない=同じではないと判断したのですが、arrB[2]だけとなった場合にarrAと長さは違うものの検索対象となる配列arrBに「2」が一致して処理が終わるので、resultには何も入らないので配列の長さが0となってしまいます。
逆に検索対処の配列をarrAとしてみたのですがその場合だとarrBに含まれている数値にarrA[0,2]と値が入っていればarrB[0,1,2,3,4]でも差分がないと判断されてしまいます。
どう処理していいか、ご教授いただけると幸いです。
回答3件
あなたの回答
tips
プレビュー