何がしたい
nodejsを使っているとき、自分はよくデータを連想配列形式にしていろいろな場所に引き回しています。
そんなとき、データセットの中で最新のデータだとか、一番古いものだとかが欲しくなることが多々あります。
list
let hashList = [
{name: 'Maekawa-Miku', age: '15'}
,{name: 'Takamori-Aiko', age: '16'}
,{name: 'Totoki-Airi', age: '18'}
,{name: 'Otokura-Yuki', age: '13'}
];
ようは
このhashListからageが一番小さいデータのnameが欲しい
前提条件
map関数を使用します。
あと、現在ES6表記の練習中なのでそっち形式で書いてます。
実装
sample
const returnLatestdata = req => {
let hashList = req;
let tempAgeList = hashList.map(element => {
return element.age
});
let elmNum = tempAgeList.indexOf(Math.min.apply(null, tempAgeList));
return hashList[elmNum];
};
結果
console.log(returnLatestdata(hashList)); //{name: 'Otokura-Yuki', age: '13'}
概要
①Map関数を用いて、要素だけの配列を作成します。
②作成した配列の最小値のデータを取得し、そのデータを使って、元の配列からそれが含まれるデータセットを取得します。
まとめ
いつもいつも悩んで悩んでたいのですが、map関数に出会って楽に出来てよかった。