を持つオブジェクト内のオブジェクトを通じてスクリプトをループする出力:現在の下Object.assign
{
"title1": {
"0": "undefined"
},
"title2": "& three",
"title3": "& four"
}
所望の出力ビーイング:
{
"title1": {
"nested1": "one",
"nested2": "& two"
},
"title2": "& three ",
"title3": "& four"
}
私の質問が正常にif文で必要とされるものです[key] [innerKey]のプロパティをループし、エンコード関数に渡して 'out'に戻しますか?
私は、if文の最初の部分でforループを使用して成功しなくてもそれを解決しようとしています。 [キー]のすべてのプロパティをループ次いで
- :私はそれの線に沿って論理に従うことを必要と把握します
- と機能エンコード
- を介してそれらを渡すと
おかげで「アウト」に戻します。
var arr = {
"title1": {
"nested1": "one",
"nested2": "& two"
},
"title2": "& three ",
"title3": "& four"
};
var encodedValues = Object.keys(arr).reduce(function(out,key,innerKey) {
if (typeof arr[key] == "object") {
return Object.assign(out, {[key]: {[innerKey]: encode(arr[key][innerKey])}})
} else {
return Object.assign(out, {[key]: encode(arr[key])})
}
}, {});
console.log(encodedValues)
期待どおりの出力を投稿できますか?私はあなたが達成しようとしていることを理解していない... – rpadovani
はいはい。明快さの欠如のために申し訳ありません。元の投稿を更新しました。 – fivedoor
オブジェクトの深さは常に== 1になりますか? – markusthoemmes