Get object with string identifier

前端 未结 4 1708
轮回少年
轮回少年 2021-01-29 04:58

I need help with getting property of object with String in JS.

I have object

elements = {
    element : {
            date: {
                 day: \'Mo         


        
4条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-29 05:58

    Yes you can ! :-)

    var elements = {
        element : {
                date: {
                     day: 'Monday'
                }
        }
    }
    
    function getObjectByStringIdentifier ( stringId ) {
        
        //return elements[stringId];
        //            ^      ^  
        //            |      |  
        //            |------|---------------------------------------------|  
        //                   |                                             |
        //        -----------|                                             | 
        //        |                                                        |
        //        °                                                        °
        return stringId.split('.').reduce(function(t,v){return t[v]; } , elements)
    }
    
    
    /** let's test it now ! **/
    
    var stringIdentifier = "element.date.day";
    var result = getObjectByStringIdentifier( stringIdentifier );
    
    
    document.getElementById('el').innerHTML = result;

提交回复
热议问题