个人随记1

const obj = {
    aaaName: {
        name: 'aaaName',
        formDataValue: {
            name: '111',
            type: 'list',
            itemType: 'string',
            formDataValue: ['a', 'b', 'c']
        }
    },
    ccc: {
        name: 'ccc',
        formDataValue: {
            name: 'ccc',
            type: 'list',
            itemType: 'string',
            formDataValue: {
            name: '111',
            type: 'list',
            itemType: 'string',
            formDataValue: '111'
            }
        }
    },
    bbbName: {
        name: 'bbbName',
        type: 'string',
        ab: {a: 'b', b: 'c'},
        formDataValue: [
            {
                name: '222',
                type: 'list',
                itemType: 'string',
                formDataValue: ['a', 'b', 'c']
            },
            {
                name: '333',
                type: 'list',
                itemType: 'string',
                formDataValue: 'abc'
            },
        ]
    }
}

function hasOwnProperty(obj, prop) {
    return Object.prototype.hasOwnProperty.call(obj, prop);
}

function isObject(value) {
    return Object.prototype.toString.call(value) === '[object Object]';
}

function isArray(value) {
    return Object.prototype.toString.call(value) === '[object Array]';
}

function formatData(obj) {
    if (!isObject(obj)) return;
    Object.keys(obj).forEach(item => {
        if (item !== 'name' && item !== 'formDataValue') {
            delete (obj[item]);
        }
        if (item === 'formDataValue') {
            if (isObject(obj[item])) {
                formatData(obj[item])
            }
            if (isArray(obj[item])) {
                obj[item].forEach(_item => {
                    if (isObject(_item)) {
                        formatData(_item)
                    }
                })
            }
        }
    })
}

function run(obj) {
    Object.values(obj).forEach(item => {
        if (isObject(item)) {
            formatData(item);
        }
    })
}


run(obj)

function setData(obj) {
    Object.keys(obj).forEach(key => {

        if (isObject(obj[key])) {
            const tempObj = {};
            tempObj[obj[key].name] = obj[key].formDataValue;
            obj[key] = tempObj;
        }

        if (isArray(obj[key])) {
            obj[key].forEach(_item => {
                if (isObject(_item)) {

                }
            })
        }
    })
}

function run2(obj) {
    const temp = {};
    Object.values(obj).forEach(item => {
        temp[item.name] = item.formDataValue;
    })
    return temp;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值