[JavaScript]Map(マップ)の最後の要素を取得するには?

JavaScript

どうも、ちょげ(@chogetarou)です。

Map(マップ)の最後の要素を取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Map(マップ)の最後の要素を取得する方法は、3つあります。

最後のキーと値のペアを取得

ひとつめは、最後のキーと値のペアを取得する方法です。

まず、Mapを配列に変換します。

そして、変換した配列からpop()を呼び出します。

//map=対象のマップ
const last = [...map].pop();

上記のpop()は、対象のMap(マップ)の最後の要素をキー(key)と値(value)として取得します。

上記のスプレッド構文([…array])ではなく、Array.from()でも同じ結果が得られます。

const last = Array.from(map).pop();

使用例

const nums = new Map();
nums.set("one", 1);
nums.set("two", 2);
nums.set("three", 3);
nums.set("four", 4);
nums.set("five", 5);

const last = [...nums].pop();

console.log(last);
出力:
[ 'five', 5 ]

最後のキーを取得

ふたつめは、最後のキーを取得する方法です。

まず、Mapからkeys()を呼び出し、keys()の結果を配列に変換します。

そして、変換した配列からpop()を呼び出します。

//map=対象のマップ
const last = [...map.keys()].pop();

上記のpop()は、対象のMap(マップ)の最後の要素のキーを取得します。

上記のスプレッド構文([…array])ではなく、Array.from()でも同じ結果が得られます。

const last = Array.from(map.keys()).pop();

使用例

const nums = new Map();
nums.set("one", 1);
nums.set("two", 2);
nums.set("three", 3);
nums.set("four", 4);
nums.set("five", 5);

const last = [...nums.keys()].pop();

console.log(last);
出力:
five

最後の値を取得

みっつめは、最後の値を取得する方法です。

まず、Mapからvalues()を呼び出し、values()の結果を配列に変換します。

そして、変換した配列からpop()を呼び出します。

//map=対象のマップ
const last = [...map.values()].pop();

上記のpop()は、対象のMap(マップ)の最後の要素の値(value)を取得します。

上記のスプレッド構文([…array])ではなく、Array.from()でも同じ結果が得られます。

const last = Array.from(map.values()).pop();

使用例

const nums = new Map();
nums.set("one", 1);
nums.set("two", 2);
nums.set("three", 3);
nums.set("four", 4);
nums.set("five", 5);

const last = [...nums.values()].pop();

console.log(last);
出力:
5
スポンサーリンク

まとめ

Map(マップ)の最後の要素を取得する方法は、次の3つです。

  • 最後のキーと値のペアを取得する方法
    const last = [...map].pop();
  • 最後のキーを取得する方法
    const last = [...map.keys()].pop();
  • 最後の値を取得する方法
    const last = [...map.values()].pop();

コメント

タイトルとURLをコピーしました