動態鏈式屬性?我本身起的名字,樣子就是javascript
var data={ list:{ name:'zxf' } }
var prop="list.name";
console.log(data[prop])
這樣輸出確定是不行的,那應該怎麼訪問呢?
咱們知道若是prop只有一個屬性值就能夠了,好比var prop="list";data[list]是能夠的,那麼咱們利用這個能夠換種思路java
var data={ list:{ name:'zxf' } } var props="list.name"; var res=data; var paths=props.split('.'); while(paths.length>0){ res=res[paths.shift()] } console.log(res);
這裏,把屬性值以.爲分割,成爲一個數組,而後在while循環裏面咱們利用數組的shift先獲取第一個屬性,同時刪除,這樣就獲得了對象list,而後再循環,這樣就能夠輸出了。數組