javascript - JS 递归实现一个函数
伊谢尔伦
伊谢尔伦 2017-04-10 18:07:27
[JavaScript讨论组]

已知:

var data = [
    {
        id: 0,
        title: 'IT'
    },
    {
        id: 1,
        title: 'GG'
    }
]

var data2 = [
    [
        {
            id: '1',
            title: '1111'
        },
        {
            id: '2',
            title: '22222'
        }
    ],
    [
        {
            id: '3',
            title: '33333'
        },
        {
            id: '4',
            title: '4444'
        }
    ]
]

怎么样实现一个 dealDate 函数,能够让data和data2变成:

var data = [
    {
        id: 0,
        title: 'IT',
        value: 0,
        text: 'IT'
    },
    {
        id: 1,
        title: 'GG',
        value: 1,
        text: 'GG'
    }
]

var data2 = [
    [
        {
            id: '1',
            title: '1111',
            value: 1,
            text: '11111'
        },
        {
            id: '2',
            title: '22222',
            value: 2,
            text: '22222'
        }
    ],
    [
        {
            id: '3',
            title: '33333',
            value: 3,
            text: '333333'
        },
        {
            id: '4',
            title: '4444',
            value: 4,
            text: '444444'
        }
    ]
]

就是每一个json的idtitle变成 valuetext

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(2)
伊谢尔伦
var dealData = function (data) {
    for (var i = 0, len = data.length; i < len; i++) {
        if ('[object Array]' === Object.prototype.toString.call(data[i])) {
            dealData(data[i])
        } else {
            data[i].value = data[i].id
            data[i].text  = data[i].title
        }
    }
}
dealData(data2)

console.log(data2)
// 没做格式校验
怪我咯
for(var x in data){
        data[x].value = data[x].id;
        data[x].text  = data[x].title;
    }

不知道你是否需要这样的方法

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号