JavaScriptの配列操作で重要なメソッドである`shift()`について、基本的な使い方から実践的な例まで詳しく解説します。
`shift()`メソッドは、配列の先頭から要素を削除し、その要素を返す便利なメソッドです。
基本的な使い方
const fruits = ['りんご', 'バナナ', 'オレンジ'];
const removedItem = fruits.shift();
console.log(removedItem); // 'りんご'
console.log(fruits); // ['バナナ', 'オレンジ']shift()メソッドの特徴
1. 配列の先頭要素を削除します
2. 削除した要素を返り値として取得できます
3. 元の配列が直接変更されます(破壊的メソッド)
4. 空の配列に対して実行すると`undefined`を返します
よくあるユースケース
キューの実装
const queue = ['Task1', 'Task2', 'Task3'];
// 先頭のタスクを処理
const currentTask = queue.shift();
console.log('処理するタスク:', currentTask); // 'Task1'
console.log('残りのタスク:', queue); // ['Task2', 'Task3']配列の先頭要素の確認と削除
const numbers = [1, 2, 3, 4, 5];
while (numbers.length > 0) {
const number = numbers.shift();
console.log('処理中の数字:', number);
}注意点
1. 空配列での使用
const emptyArray = [];
const result = emptyArray.shift();
console.log(result); // undefined2. パフォーマンスへの影響
大きな配列で頻繁に`shift()`を使用すると、要素の再インデックス付けが必要になるため、パフォーマンスに影響を与える可能性があります。
代替手段
配列を変更したくない場合は、以下のような方法を使用できます:
const original = [1, 2, 3];
const copied = [...original.slice(1)];
console.log(original); // [1, 2, 3]
console.log(copied); // [2, 3]まとめ
- `shift()`は配列の先頭要素を削除し、その要素を返します
- 元の配列を直接変更する破壊的メソッドです
- キューの実装やデータの順次処理に適しています
- パフォーマンスを考慮する場合は、代替手段の検討も重要です
このメソッドを使いこなすことで、より効率的な配列操作が可能になります。