重複の可能性:
javascript 配列から特定の要素を削除しますか?
値を削除したい配列があります。
これを配列と考えてください
[ 'utils': [ 'util1', 'util2' ] ]
今、私はちょうど削除したいutil2
. どうすればいいですか、使ってみdelete
ましたがうまくいきませんでした。
誰でも私を助けることができますか?
重複の可能性:
javascript 配列から特定の要素を削除しますか?
値を削除したい配列があります。
これを配列と考えてください
[ 'utils': [ 'util1', 'util2' ] ]
今、私はちょうど削除したいutil2
. どうすればいいですか、使ってみdelete
ましたがうまくいきませんでした。
誰でも私を助けることができますか?
splice
次の方法を使用します。
var object = { 'utils': [ 'util1', 'util2' ] }
object.utils.splice(1, 1);
配列要素の実際の位置がわからない場合は、配列を反復処理し、そこから要素をスプライスする必要があります。次の方法を試してください。
for (var i = object.utils.length; i--;) {
var index = object.utils.indexOf('util2');
if (index === -1) break;
if (i === index) {
object.utils.splice(i, 1); break;
}
}
更新: techfoobar の答えは、私のものよりも慣用的なようです。代わりに彼の使用を検討してください。
と組み合わせて使用Array.splice()
するとArray.indexOf()
、配列をループすることなく目的の動作を得ることができます。
var toDelete = object.utils.indexOf('util1');
if(toDelete != -1) {
object.utils.splice(toDelete, 1);
}
Javascriptには連想配列というものはないと思います。それは実際にはオブジェクトです。
[ 'utils': [ 'util1', 'util2' ] ]
この行については、コンパイルされないと思います。代わりにこれを書くべきです。
var obj = { 'utils': [ 'util1', 'util2' ] }
したがって、配列(配列内)の要素「util2」を削除するには、2つの方法があります。
pop()を使用する
obj["utils"].pop(); // obj["utils"] is used to access the "property" of the object, not an element in associative array
長さを短くする
obj["utils"].length --;