替换 JSON 中数组中的键和字符串

我有下面这个 JSON:


{

    "class": "List",

    "list": [{

            "name": "HandsUp"

            "schedule": {

                "type": "probability",

                "theme": "Regular",

                "occurance": {

                    "next": 1607687249008.9834,

                    "prev": null

                }

            }

        }, {

            "name": "Listing",

            "waitingScreenInfo": {

                "__class": "WaitingScreenInfo",

                "getRecapTime": 1607687753.7949834

            },

            "schedule": {

                "type": "Waiting2",

                "theme": "Listing",

                "occurance": {

                    "next": 1607687249008.9834,

                    "prev": null

                }

            }

        }

    ]

}

我有这个:


{

    "HandsUp": "HandsDown",

    "Listing": "ImgList",

    "Waiting2": "UpNDown"

}

第一个 JSON 中的字符串的等效项位于第二个 JSON 中,我想知道如何创建一个函数来查找第一个 JSON 中的字符串的等效项,然后替换所有字符串,即使有多个字符串也是如此?


LEATH
浏览 60回答 1
1回答

慕森王

你可以这样做遍历数组检查属性名称是否等于“repl”对象中的键如果是,请使用“repl”对象中的值重新分配该值let stru = {&nbsp; &nbsp; "class": "List",&nbsp; &nbsp; "list": [{&nbsp; &nbsp; &nbsp; &nbsp; "name": "HandsUp",&nbsp; &nbsp; &nbsp; &nbsp; "schedule": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "type": "probability",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "theme": "Regular",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "occurance": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "next": 1607687249008.9834,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "prev": null&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }, {&nbsp; &nbsp; &nbsp; &nbsp; "name": "Listing",&nbsp; &nbsp; &nbsp; &nbsp; "waitingScreenInfo": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "__class": "WaitingScreenInfo",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "getRecapTime": 1607687753.7949834&nbsp; &nbsp; &nbsp; &nbsp; },&nbsp; &nbsp; &nbsp; &nbsp; "schedule": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "type": "Waiting2",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "theme": "Listing",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "occurance": {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "next": 1607687249008.9834,&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "prev": null&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }]}const repl = {&nbsp; &nbsp; "HandsUp": "HandsDown",&nbsp; &nbsp; "Listing": "ImgList",&nbsp; &nbsp; "Waiting2": "UpNDown"}console.log("Before ", stru)stru.list.forEach(element => {&nbsp; &nbsp; // keys and values correspond at the index&nbsp; &nbsp; let keys = Object.keys(repl);&nbsp; &nbsp; let values = Object.values(repl);&nbsp; &nbsp; for (let i = 0; i < keys.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; if (keys[i] === element.name) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; element.name = values[i];&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }});console.log("Afterwards ", stru)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript