【JavaScript】filterとincludesで配列のデータを抽出
【JavaScript】filterとincludesで配列のデータを抽出:
JavaScriptで2つの配列を比較して、他方の配列に含まれる要素のみを抽出したい場面があり、
同じような内容の記事が見当たらなかったので書きました。
forを使った場合との比較を書いたりすると親切なんでしょうが
自分の備忘用なので超サラっと書いてます。あしからず。
node v11.6.0
2つの配列alphabet, targetがあって、
配列alphabetの中から、idの値がリストtargetの要素と一致するものだけを抽出したい。
(↓こんなアウトプットが欲しい。)
SQLならこんな感じ。
filterとindexOf includes。(※includesのほうが良いよとご指摘いただいたので修正)
さっそくコードを、
結果
はい出来上がり!
2つの配列の要素を比較
JavaScriptで2つの配列を比較して、他方の配列に含まれる要素のみを抽出したい場面があり、同じような内容の記事が見当たらなかったので書きました。
おことわり
forを使った場合との比較を書いたりすると親切なんでしょうが自分の備忘用なので超サラっと書いてます。あしからず。
環境
node v11.6.0
やりたいこと
2つの配列alphabet, targetがあって、var alphabet = [{id:1, name:'alpha'}, {id:2, name:'beta'}, {id:3, name:'gamma'}, {id:4, name:'delta'}]; var target = [1, 4];
(↓こんなアウトプットが欲しい。)
[ { id: 1, name: 'alpha' }, { id: 4, name: 'delta' } ]
SELECT * FROM alphabet WHERE id in (target);
使うもの
filterとさっそくコードを、
console.log( alphabet.filter(x => target.includes(x.id)); )
[ { id: 1, name: 'alpha' }, { id: 4, name: 'delta' } ]
コメント
コメントを投稿