配列の末尾・先頭に要素を追加・削除する
// ── push/pop: 末尾への追加・取り出し ─────────────────────
const stack = [1, 2, 3];
// push: 末尾に追加(元の配列を変更する)
const newLen = stack.push(4, 5); // まとめて追加可能
console.log(stack); // [1, 2, 3, 4, 5]
console.log(newLen); // 5 ← 新しい長さが返る
// pop: 末尾から取り出して削除
const last = stack.pop();
console.log(last); // 5 ← 取り出した値
console.log(stack); // [1, 2, 3, 4]
// ── unshift/shift: 先頭への追加・取り出し ─────────────────
const queue = ['b', 'c'];
queue.unshift('a'); // 先頭に追加
console.log(queue); // ['a', 'b', 'c']
const first = queue.shift(); // 先頭を取り出して削除
console.log(first); // 'a'
// ⚠️ React では state の配列を直接変更しない!
// setItems(prev => [...prev, newItem]); ← スプレッドでコピーして追加push/popはO(1)だがshift/unshiftはO(n)のコストがかかる。先頭操作が多い場合はキュー構造の別実装を検討。