次のようなコードがあるとします:
var myArray = new Object();
myArray["firstname"] = "Bob";
myArray["lastname"] = "Smith";
myArray["age"] = 25;
では、「lastname」を削除したい場合はどうしたらよいでしょうか? に相当するものはありますかmyArray["lastname"].remove()
?
(要素の数は重要であり、物事をすっきりさせたいので、要素を削除する必要があります。)
ベストアンサー1
JavaScript のオブジェクトは、キー (プロパティ) を値にマッピングする連想配列と考えることができます。
JavaScriptでオブジェクトからプロパティを削除するには、delete
オペレーター:
const o = { lastName: 'foo' }
o.hasOwnProperty('lastName') // true
delete o['lastName']
o.hasOwnProperty('lastName') // false
delete
がインデックスプロパティに適用される場合、Array
、あなたはまばらな配列(つまり、インデックスが欠落している配列)。
のインスタンスを扱うときArray
、まばらな配列を作成したくない場合(通常はそうしませんが)、次のようにします。Array#splice
またはArray#pop
。
JavaScript の 演算子はメモリを直接解放しないことに注意してくださいdelete
。その目的は、オブジェクトからプロパティを削除することです。もちろん、削除されるプロパティがオブジェクトへの唯一の参照を保持している場合はo
、その後、o
通常の方法でガベージ コレクションされます。