js怎麼獲取動態鏈式屬性呢?

動態鏈式屬性?我本身起的名字,樣子就是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,而後再循環,這樣就能夠輸出了。數組

相關文章
相關標籤/搜索