私はオブジェクトがあります。指定されたキー以外のオブジェクトからすべての要素を削除しますか?
"languages": {
"en":["au", "uk"],
"de":["de"],
....
}
私は指定されたキー以外のすべてを削除することができますどのように、私は「en」と指定した場合、私はちょうど「EN」が含まれるオブジェクトをしたい:[「AU」、「英国」 ]
私はオブジェクトがあります。指定されたキー以外のオブジェクトからすべての要素を削除しますか?
"languages": {
"en":["au", "uk"],
"de":["de"],
....
}
私は指定されたキー以外のすべてを削除することができますどのように、私は「en」と指定した場合、私はちょうど「EN」が含まれるオブジェクトをしたい:[「AU」、「英国」 ]
単に、指定したフィールドで新しいオブジェクトを作成することができます。
var key = 'en';
var o = {
"languages": {
"en": ["au", "uk"],
"de": ["de"]
}
}
var res = {}
res[key] = o.languages[key];
delete
に不要なプロパティを試してみて、
var obj = { "languages": { "en":["au", "uk"],"de":["de"] }};
Object.keys(obj.languages).forEach(function(itm){
if(itm != "en") delete object.languages[itm];
});
delete
を使用して、単純なループはそれを行います。
var key = 'en';
for (var k in obj.languages) {
if (obj.languages.hasOwnProperty(k) && k != key) {
delete obj.languages[k];
}
}
if文で 'key' varを使うべきでしょうか? – Simon
(Rajaprabhuの答えから精製)「どのように私は指定されたキー以外のすべてのキーを削除しますか」の元の質問のための一般的な解決策は:
validKeys = [ 'a', 'b', 'c' ];
userInput = { "a":1, "b":2, "c":3, "d":4, "e":5 }
Object.keys(userInput).forEach((key) => validKeys.includes(key) || delete userInput[key]);
だけで抽出されたキーと値を含む新しいものを作成しますか?任意の基準に基づいてオブジェクトキーを拒否する何百万ものJSライブラリを使用しますか? –
'' en''の*を除くすべてのキー*を削除したいですか? –