JavaScript | 配列メソッドの使い分け(map / forEach / filter / reduce の違い)

JavaScript JavaScript
スポンサーリンク

では「最大3つまで表示して、それ以上は『…他◯件』とするリスト表現」を作ってみましょう。


カートの例

const cart = [
  { name: 'Tシャツ', price: 1500, quantity: 2 },
  { name: 'ジーンズ', price: 5000, quantity: 1 },
  { name: '帽子', price: 2000, quantity: 1 },
  { name: '靴', price: 8000, quantity: 1 },
  { name: 'バッグ', price: 6000, quantity: 1 }
];
JavaScript

やりたいこと

  • 商品が3つ以下 → すべて表示
  • 商品が4つ以上 → 最初の3つを表示して「…他◯件」とする

実装例

const names = cart
  .filter(item => item.quantity > 0)
  .map(item => item.name);

let list;
if (names.length <= 3) {
  list = names.join(', ');
} else {
  const shown = names.slice(0, 3).join(', ');
  const remaining = names.length - 3;
  list = `${shown} …他${remaining}件`;
}

console.log(list);
// "Tシャツ, ジーンズ, 帽子 …他2件"
JavaScript

ポイント

  • slice(0, 3) で最初の3つを取り出す
  • 残りの数は names.length - 3 で計算
  • 実務で「一覧のプレビュー」や「UIの省略表示」によく使われる

💡 応用すると、

  • 「…他◯件」をリンクにして詳細ページへ飛ばす
  • 「スマホ表示は2件まで、PC表示は3件まで」などレスポンシブ対応
タイトルとURLをコピーしました