配列のクリア方法をマスターしよう!JavaScriptで要素を削除する3つの方法
JavaScriptで配列を空にする方法
length プロパティを使用する
最も簡単で効率的な方法は、length
プロパティを 0 に設定する方法です。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
arr.length = 0;
console.log(arr); // []
この方法は、配列のインスタンス自体は保持したまま、要素をすべて削除します。
splice()
メソッドは、配列の要素を削除、追加、置換するために使用できます。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
arr.splice(0, arr.length);
console.log(arr); // []
この方法は、length
プロパティを使用する方法と同様ですが、要素を削除する範囲を指定できます。
while ループを使用する
すべての要素をループで削除する方法もあります。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
while (arr.length > 0) {
arr.pop();
}
console.log(arr); // []
この方法は、他の方法よりも処理速度が遅くなりますが、古いブラウザでも動作します。
新しい配列を作成する
新しい空の配列を作成して、元の配列の要素をコピーする方法もあります。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
const emptyArr = [];
// 要素をコピー
for (const element of arr) {
emptyArr.push(element);
}
console.log(arr); // [1, 2, 3, 4, 5]
console.log(emptyArr); // []
この方法は、元の配列の内容を変更せずに、空の配列を作成する場合に便利です。
ライブラリを使用する
Lodashなどのライブラリを使用すると、より簡単に配列を空にすることができます。
const _ = require('lodash');
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
_.empty(arr);
console.log(arr); // []
ライブラリを使用する方法は、コードを簡潔に書けますが、ライブラリの読み込みが必要になります。
JavaScriptで配列を空にする方法はいくつかあります。それぞれの特徴と使い分けを理解して、状況に合わせて最適な方法を選択してください。
length プロパティを使用する
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
arr.length = 0;
console.log(arr); // []
splice() メソッドを使用する
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
arr.splice(0, arr.length);
console.log(arr); // []
while ループを使用する
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
while (arr.length > 0) {
arr.pop();
}
console.log(arr); // []
新しい配列を作成する
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
const emptyArr = [];
// 要素をコピー
for (const element of arr) {
emptyArr.push(element);
}
console.log(arr); // [1, 2, 3, 4, 5]
console.log(emptyArr); // []
ライブラリを使用する
const _ = require('lodash');
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
_.empty(arr);
console.log(arr); // []
他の方法
filter()
メソッドは、条件に合致する要素だけを抽出するメソッドです。空の配列を生成するには、常に false
を返す関数を使用します。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
const emptyArr = arr.filter(() => false);
console.log(arr); // [1, 2, 3, 4, 5]
console.log(emptyArr); // []
reduce()
メソッドは、配列の要素を累積的に処理するメソッドです。空の配列を生成するには、初期値として空の配列を渡します。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
const emptyArr = arr.reduce((acc, _) => acc, []);
console.log(arr); // [1, 2, 3, 4, 5]
console.log(emptyArr); // []
配列の参照を破棄することで、メモリ上から配列を削除することができます。
const arr = [1, 2, 3, 4, 5];
// 配列の参照を破棄
arr = null;
console.log(arr); // null
この方法は、他の方法よりも処理速度が速くなりますが、メモリリークの原因になる可能性がありますので、注意が必要です。
配列を別の空の変数に再代入することで、元の配列を空にすることができます。
const arr = [1, 2, 3, 4, 5];
// 配列を空にする
const emptyArr = [];
arr = emptyArr;
console.log(arr); // []
この方法は、他の方法よりも簡潔ですが、元の配列の内容が失われますので、注意が必要です。
javascript arrays