配列:
var arr = {'abc','def','ghi'};
インデックスを使用して、上記の配列値'def'を削除したいと思います。
構文が正しくないため、ハッシュを指定する必要があります。
hash = {abc: true, def: true, ghi: true};
または配列:
arr = ['abc','def','ghi'];
アイテムをnullに設定するだけで、ハッシュからアイテムを効果的に削除できます。
hash['def'] = null;
hash.def = null;
またはそれを完全に削除します:
delete hash.def;
配列からアイテムを削除するには、各アイテムを繰り返し処理して、必要なアイテムを見つける必要があります(重複している可能性があります)。配列検索とスプライシングの方法を使用できます。
arr.splice(arr.indexOf("def"), 1);
これにより、「def」の最初のインデックスが検索され、スプライスを使用して配列から削除されます。ただし、より詳細に制御できるため、.filter()をお勧めします。
arr.filter(function(item) { return item !== 'def'; });
これにより、「def」ではない要素のみを含む新しい配列が作成されます。
arr.filter()は新しい配列を返し、arr.spliceは元の配列を変更して、削除された要素を返すことに注意してください。アイテムで何をしたいかによっては、これらは両方とも便利です。
delete arr[1]
これを試してみてください。varのような配列がある場合は機能するはずです。arr =["","",""]
var array = new Array();
array.push('123');
array.push('456');
array.push('789');
var _searchedIndex = $.inArray('456',array);
alert(_searchedIndex );
if(_searchedIndex >= 0){
array.splice(_searchedIndex,1);
alert(array );
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>