美文网首页
a.b.c.d.e字符串的处理

a.b.c.d.e字符串的处理

作者: 易路先登 | 来源:发表于2021-11-20 09:04 被阅读0次
const input = {
            'a.b.c.d.e':'abcde',
            'a.d.f':'adf',
            'f.o.l':'fol',
            'f.g.h.i':'fghi'
        }
        let obj = {
            a:{
                b:{
                    c:{
                        d:{
                            count:90
                        }
                    }
                }
            }
        }
        let str =  'a.b.c.d.count'
        function getValue(str){
            let keyArr = str.split('.');
            //['a','b','c']
            return keyArr.reduce((currentObj,currentKey)=>{
                return currentObj=currentObj[currentKey]
            },obj)
        }
        console.log(getValue(str))
var returObj = {}
        var input = {
            'a.b.c.d.e':'abcde',
            'a.d.f':'adf',
            'f.o.l':'fol',
            'f.g.h.i':'fghi'
        }
        for(var key in input){
            generatorObj(key,input[key])
        }
        function generatorObj(key,value){
            var keyArr = key.split('.');
            keyArr.reduce((currentObj,currentKey,index)=>{
                if(index < keyArr.length-1){
                    return currentObj=currentObj[currentKey]?currentObj[currentKey]:(currentObj[currentKey] = {})
                }else{
                    return currentObj[currentKey] = value
                }
                
            },returObj)
            return returObj
        }
        console.log(returObj)

相关文章

网友评论

      本文标题:a.b.c.d.e字符串的处理

      本文链接:https://www.haomeiwen.com/subject/deyytrtx.html