js根據path查找對象中的某個屬性


轉載:https://blog.csdn.net/esir82/article/details/73369079 感謝該作者

/*

我實現了一個find函數,它接收2個參數,第一個參數是個object,第二個參數是個用英文句號分割的路徑字符串path,這個函數將根據path查找object內對應的屬性值。

它具有幾個特點:

1.它可以根據數組索引進行查找。

2.它只會檢測實例上的屬性,而不會涉及到原型鏈。

3.如果path無效(找不到對應屬性),將返回undefined。

*/

 


function
find(object, path) { var props = path.split("."); for(var i=0;i<props.length;i++){ var p = props[i]; if(object && object.hasOwnProperty(p)){ object = object[p]; } else{ return undefined; } } return object; } //查找數組索引 var obj1 = {"people" : ["Jack","Tom","Andy"]}; //Tom document.write(find(obj1,"people.1")); //查找對象屬性 var obj2 = {"class" : {"teacher" : {"name" : "Li"}}}; //Li document.write(find(obj2,"class.teacher.name")); //undefined document.write(find(obj2,"class.teacher.age"));

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM