プログラミング初学者のための実務につながる練習問題 JavaScript011 キーの取得
今日のタスク
以下のようなデータがある。
const data = [
{pref: '北海道', count: 1000, type: 'A'},
{pref: '北海道', count: 2000, type: 'B'},
{pref: '青森', count: 3000, type: 'A'},
{pref: '青森', count: 4000, type: 'B'},
{pref: '埼玉', count: 5000, type: 'A'},
{pref: '埼玉', count: 6000, type: 'B'},
{pref: '不明', count: 99999, type: 'C'},
]
このデータのprefの値を配列ですべて抜き出してください。ただし、重複は除外します。
また、’不明’は除外してください。できるだけ汎用的な関数で実装してください。
// 結果
[ '北海道', '青森', '埼玉' ]
実装例
const getKeys = (data, indexKey, excludedName = '') => {
const keys = data.filter(d => d[indexKey] !== excludedName).map(d => {
return d[indexKey]
})
return Array.from(new Set(keys))
}
filterで指定した条件のオブジェクトを除外した後に、map で配列にします。
その後、Set を使うことで重複を除外し、Array.from で配列に戻します。
お疲れ様でした。
ディスカッション
コメント一覧
まだ、コメントがありません