猿问

搜索并替换标题键嵌套对象vue js上的字符串

我有一个嵌套对象,其中包含几个键,这些键还包括标题和子项。Children 是也具有标题和子键的对象数组。(它们看起来像一棵树)如何搜索和替换标题值的一个单词或一部分?


const object = {

    id: 'uuid',

    title: 'hello You',

    type: number,

    visibility: true,

    children: [

        {

            id: 'uuid',

            title: 'You don't have any comments...',

            type: number,

            visibility: true,

            children: [{...}, {...}, ...],

            key1: {...},

            key2: [{...}]

        },

        {

            id: 'uuid',

            title: 'You your problem is not with json...',

            type: number,

            visibility: true,

            children: [{...}, {...}, ...],

            key1: {...},

            key2: [{...}]

       }

    ],

    key1: {...},

    key2: [{...}]

}

搜索you并替换world标题


output = {

    id: 'uuid',

    title: 'hello world',

    type: number,

    visibility: true,

    children: [

        {

            id: 'uuid',

            title: 'world don't have any comments...',

            type: number,

            visibility: true,

            children: [{...}, {...}, ...],

            key1: {...},

            key2: [{...}]

        },

        {

            id: 'uuid',

            title: 'world your problem is not with json...',

            type: number,

            visibility: true,

            children: [{...}, {...}, ...],

            key1: {...},

            key2: [{...}]

       }

    ],

    key1: {...},

    key2: [{...}]

}


长风秋雁
浏览 77回答 1
1回答

至尊宝的传说

您可以尝试使用递归策略来查找数组中的任何键,并搜索它们的子项。function recursive (newArray) {  newArray.map(obj => {    if (obj.title) {      obj.title = obj.title.replace(/You/g, 'world')    }    if (obj.children) {      return recursive (obj.children)    }  })  return newArray}使用该功能let arr = [object]recursive(arr)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答