Help us understand the problem. What is going on with this article?

連想配列の最小値の抽出 [nodejs]

More than 3 years have passed since last update.

何がしたい

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関数に出会って楽に出来てよかった。

Yuki_BB3
バイクと酒と戦車道 こちらに記載した内容は所属会社とは関係ありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away