1. ホーム
  2. javascript

[解決済み] javascriptでハッシュからキーと値を削除する方法

2023-06-27 16:11:41

質問

与えられた

var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key2'] = { Name: 'Object 2' };
myHash['key3'] = { Name: 'Object 3' };

どのようにすれば key2object 2 をハッシュから削除し、あたかも私が削除したかのような状態で終了するようにします。

var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myHash['key3'] = { Name: 'Object 3' };

deleteは私の望むことをしません。

delete myHash['key2'] 

は単にこれを与えているだけです。

var myHash = new Array();
myHash['key1'] = { Name: 'Object 1' };
myhash['key2'] = null;
myHash['key3'] = { Name: 'Object 3' };

に関する唯一のドキュメントを見つけることができます。 spliceslice は、私が持っていない整数のインデクサを扱います。

編集:私はまた、'key2'が必ずしも位置[1]にあることを知らない。

アップデイト

しかし、私はjson2.jsを使って、オブジェクトをjsonに文字列化してサーバーにプッシュバックしています。

削除した後、myHashは次のようにシリアライズされます。

[ { Name: 'Object 1' }, null, { Name: 'Object 3' } ]

これはjson2.jsのバグなのでしょうか、それともdeleteのやり方が悪いのでしょうか?

ありがとうございます。

どのように解決するのですか?

あなたが探しているのは delete :

delete myhash['key2']

を参照してください。 コア・ジャバスクリプト・ガイド