js 根據路徑查找對象中的某個屬性,並且更改該屬性的值


根據路徑查找對象中的某個屬性,並且更改該屬性的值

    var obj1 = {"people" : ["Jack","Tom","Andy"]}; //原對象
   /*
    * objectStr 這個是字符串格式
   *path 屬性的路徑
* val 要改成的值
*/
function findMod(objectStr, path,val) {

      var props = path.split(".");
      var th="";
      for(var i=0;i<props.length;i++){
        th += "['"+props[i]+"']";
      }
      //判斷是對象還是字符串
      var isObj = new Function("return "+objectStr+th);
      console.log(typeof isObj());
      if(typeof isObj() == 'object'){
        e = new Function(objectStr+th+'='+val);
      }else if(typeof isObj() == 'string'){
        e = new Function(objectStr+th+'="'+val+'"');
      }
      e();

    }

  findMod('obj1',"people.2.Andy",'[{"a":"hhh"},{"a":"888"}]'); //修改一個子對象
  findMod('obj1',"people.2.Andy.0.a",'咳咳咳'); //修改一個屬性值(字符串)

  document.write(obj1['people'][2].Andy[0].a);

 
        

 


免責聲明!

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



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