2017-05-29 16 views
0

私はそのように定義されたユーザーを持っています。Javascript:オブジェクト内のオブジェクトの削除/編集

const initUsers = { 
    '[email protected]':{ 
    firstName: 'A', 
    lastName: 'Test', 
    email: '[email protected]', 
    password: 'test', 
    }, 
    '[email protected]':{ 
    firstName: 'B', 
    lastName: 'Test', 
    email: '[email protected]', 
    password: 'test', 
    } 
}; 

私はinitUser['[email protected]']を実行してユーザーを取得できます。 [email protected]のようなメールの鍵に基づいてユーザーを削除するにはどうすればよいですか?または、[email protected]の代わりに[email protected]などの別のキーで置き換えるにはどうすればよいですか?

ありがとうございます。オブジェクトのプロパティ

delete initUsers['[email protected]']

を削除する (JavaScriptの初級)

+1

ありがとう@Cauterite。私は同様のリンクに出くわしましたが、私はオブジェクト内のオブジェクトが同様にアクセスできることを認識しませんでした。今、私はそれが重複している可能性があることを見ています。 – MNS

答えて

0

JavaScriptを使用deleteキーワードはあなたオブジェクトのプロパティの名前を変更することはできませんあなた

のためにそれを削除する必要があります。最良の方法は、オブジェクトに新しいプロパティを追加し、置き換えたいオブジェクトを削除することです。

+0

ありがとう、それは魅力のように働いた。私はタイマーの後に答えを受け入れます。別の簡単な質問:ユーザー情報を更新するオプションを提供しています。古いオブジェクトを削除し、新しいデータを含む新しいオブジェクト(電子メール/キーが更新された可能性があります)に置き換えるか、プロパティを削除して再追加する方が良いでしょうか? – MNS

+0

私が言ったように、あなたのオブジェクトが 'a @ test.com'でキーイングされていて、それを' b @ test.com'に変更したいのであれば、それを**アップデートすることはできません。 'b @ test.com'の下にキーイングされた新しいオブジェクトを手動で追加してから、' a @ test.com'を削除しますが、キーが変更されなかった場合、マップするオブジェクトのみが変更されます。キーを削除します。現在のキーのいずれかに同じ名前の新しいキーを追加すると、そのキーの値は新しい値で上書きされます – Dummy

関連する問題