オブジェクトを反復処理し、JavaScriptでfalseプロパティを削除します
このようなJSONオブジェクトがあるとします-
const obj = {
a: {
someKey: {
propOne: '',
enabled: true
}
},
b: {
someKey: {
propOne: '',
enabled: false
}
},
c: {
someKey: {
propOne: '',
enabled: false
}
},
someKey: {
ab: {
propOne: '',
enabled: true
}
}
}; そのようなオブジェクトを1つ取り込んで、偽の値を持つオブジェクトからすべての「有効な」プロパティを再帰的に削除するJavaScript関数を作成する必要があります。
例
このためのコードは-
になりますconst obj = {
a: {
someKey: {
propOne: '',
enabled: true
}
},
b: {
someKey: {
propOne: '',
enabled: false
}
},
c: {
someKey: {
propOne: '',
enabled: false
}
},
someKey: {
ab: {
propOne: '',
enabled: true
}
}
};
const deleteFalsyKey = obj => {
const keys = Object.keys(obj);
keys.forEach(key => {
if(obj[key].enabled === false){
delete obj[key];
return;
};
if(obj[key] && typeof obj[key] === 'object'){
deleteFalsyKey(obj[key]);
if (!Object.keys(obj[key]).length) {
delete obj[key];
};
}
});
};
deleteFalsyKey(obj);
console.log(obj); 出力
コンソールの出力-
{
a: { someKey: { propOne: '', enabled: true } },
someKey: { ab: { propOne: '', enabled: true } }
} -
プロパティがJavaScriptを使用してオブジェクトにあるかどうかを確認できますか?
以下は、プロパティがJavaScriptのオブジェクトにあるかどうかを確認するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <s
-
JavaScriptでオブジェクトプロパティ名の配列を置き換える
以下は、JavaScriptでオブジェクトプロパティ名の配列を置き換えるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style&g