では「最大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件まで」などレスポンシブ対応
