ブラウザ対応情報付き:JavaScriptで配列の最後の要素を取得する

2024-04-02

JavaScriptで配列の最後の要素を取得する

at() メソッドを使う(推奨)

ES2022で導入された at() メソッドは、配列の要素を取得する最もモダンな方法です。負のインデックスを渡すことで、末尾から要素を取得することができます。

const fruits = ["apple", "banana", "orange"];

// 末尾の要素を取得
const lastFruit = fruits.at(-1); // "orange"

console.log(lastFruit); // "orange"

at() メソッドは、以下の利点があります。

  • 簡潔で分かりやすいコード
  • 負のインデックスにも対応
  • 配列の長さを変更しない

欠点は、ES2022以前のブラウザではサポートされていないことです。

length プロパティと減算を使う

従来の方法として、length プロパティと減算演算子を使って、最後の要素のインデックスを取得する方法があります。

const fruits = ["apple", "banana", "orange"];

// 配列の長さを取得
const length = fruits.length;

// 末尾の要素のインデックスを取得
const lastIndex = length - 1;

// 末尾の要素を取得
const lastFruit = fruits[lastIndex]; // "orange"

console.log(lastFruit); // "orange"

この方法は、以下の利点があります。

  • すべてのブラウザで動作する

欠点は、コードが冗長になることと、length プロパティの値を直接変更してしまう可能性があることです。

slice() メソッドを使って、最後の要素だけを含む新しい配列を作成し、その配列の最初の要素を取得する方法もあります。

const fruits = ["apple", "banana", "orange"];

// 末尾の要素だけを含む新しい配列を作成
const lastFruitArray = fruits.slice(-1);

// 末尾の要素を取得
const lastFruit = lastFruitArray[0]; // "orange"

console.log(lastFruit); // "orange"

欠点は、コードが冗長になることと、新しい配列を作成するため、パフォーマンスが少し悪くなる可能性があることです。

その他の方法

上記以外にも、pop() メソッドや reduce() メソッドを使って最後の要素を取得する方法もあります。

pop() メソッド

const fruits = ["apple", "banana", "orange"];

// 末尾の要素を取得して削除
const lastFruit = fruits.pop(); // "orange"

console.log(lastFruit); // "orange"

reduce() メソッド

const fruits = ["apple", "banana", "orange"];

// 末尾の要素を取得
const lastFruit = fruits.reduce((acc, fruit) => acc = fruit, undefined); // "orange"

console.log(lastFruit); // "orange"

これらの方法は、特殊なケースで役立つ可能性がありますが、一般的には上記の3つの方法の方が使い勝手が良いです。

JavaScriptで配列の最後の要素を取得するには、いくつかの方法があります。どの方法を使うかは、状況やブラウザの対応状況によって異なります。

推奨される方法は、at() メソッドを使うことです。

ES2022以前のブラウザでは、length プロパティと減算を使う方法や slice() メソッドを使う方法など、他の方法を使う必要があります。




// ES2022
const fruits = ["apple", "banana", "orange"];

// at() メソッドを使う
const lastFruitAt = fruits.at(-1); // "orange"

// length プロパティと減算を使う
const lastFruitLength = fruits[fruits.length - 1]; // "orange"

// slice() メソッドを使う
const lastFruitSlice = fruits.slice(-1)[0]; // "orange"

// pop() メソッドを使う
const lastFruitPop = fruits.pop(); // "orange"

// reduce() メソッドを使う
const lastFruitReduce = fruits.reduce((acc, fruit) => acc = fruit, undefined); // "orange"

console.log(`at(): ${lastFruitAt}`);
console.log(`length: ${lastFruitLength}`);
console.log(`slice(): ${lastFruitSlice}`);
console.log(`pop(): ${lastFruitPop}`);
console.log(`reduce(): ${lastFruitReduce}`);
at(): orange
length: orange
slice(): orange
pop(): orange
reduce(): orange

実行環境

このコードは、ES2022に対応したブラウザで実行できます。

注意事項

  • pop() メソッドを使うと、配列から要素が削除されます。
  • reduce() メソッドを使う方法は、少し複雑なコードになります。



配列の最後の要素を取得するその他の方法

forループを使う

const fruits = ["apple", "banana", "orange"];

let lastFruit;

for (let i = fruits.length - 1; i >= 0; i--) {
  lastFruit = fruits[i];
  break;
}

console.log(lastFruit); // "orange"

この方法は、すべてのブラウザで動作しますが、コードが冗長になるという欠点があります。

whileループを使う

const fruits = ["apple", "banana", "orange"];

let i = fruits.length - 1;
let lastFruit;

while (i >= 0) {
  lastFruit = fruits[i];
  i--;
}

console.log(lastFruit); // "orange"

この方法は、forループを使う方法と似ていますが、コードが少し短くなります。

配列を逆順に並べ替える

const fruits = ["apple", "banana", "orange"];

fruits.reverse();

const lastFruit = fruits[0];

console.log(lastFruit); // "orange"

この方法は、配列を逆順に並べ替えてから、最初の要素を取得する方法です。ただし、元の配列の順序が変更されてしまうという欠点があります。

ユーティリティ関数を使う

function getLastItem(array) {
  return array[array.length - 1];
}

const fruits = ["apple", "banana", "orange"];

const lastFruit = getLastItem(fruits);

console.log(lastFruit); // "orange"

この方法は、ユーティリティ関数を使って最後の要素を取得する方法です。コードを再利用したい場合に便利です。

JavaScriptで配列の最後の要素を取得するには、いくつかの方法があります。


javascript arrays es2022


HTML ID の最大長と代替方法: JavaScript、HTML、CSS でのプログラミング解説

実用的な最大長HTML ID の最大長はブラウザによって異なりますが、一般的には 1024 文字 とされています。ただし、これはあくまでも目安であり、すべてのブラウザで確実に動作する保証はありません。問題点ID が長すぎると、以下の問題が発生する可能性があります。...


CSS メディアクエリ vs JavaScript & jQuery:スクリーン幅判定のベストプラクティス

JavaScriptと jQuery を使って、スクリーン幅が 960px 未満の場合に何かを実行する方法を説明します。方法 1: window. innerWidth を使用するこの方法は、JavaScript の window. innerWidth プロパティを使用して、現在のウィンドウ幅を取得します。その後、960 と比較して、条件に応じて処理を実行します。...


JavaScriptで配列の要素検索:includes、some、ループ、filter、reduceを徹底比較

includes() メソッドは、配列に指定した要素が含まれているかどうかを確認するために使用されます。この例では、arr1 に 2 が含まれているかどうかを確認しています。includes() メソッドは、true または false を返します。...


React JSX:JavaScriptコード vs 二重波括弧

二重波括弧を使用して、変数をJSXテンプレートに直接埋め込むことができます。例えば、以下のコードでは、name 変数の値が <h1> タグ内に表示されます。二重波括弧を使用して、条件分岐を行い、異なるJSX要素をレンダリングすることができます。例えば、以下のコードでは、isLoggedIn 変数の値によって、<h1> タグまたは <p> タグがレンダリングされます。...


SQL SQL SQL SQL Amazon で見る



【保存版】JavaScriptでサクッと解決!配列の「最後の要素」の操作テクニック

インデックスを利用する方法最も基本的な方法は、配列の長さを取得し、その値から1を引いたインデックスを使って最後の要素にアクセスする方法です。この方法はシンプルで分かりやすいですが、配列の長さが頻繁に変更される場合や、パフォーマンスが重要な場合は効率的ではありません。