對象循環,修改對象屬性,用於修改后端返回數據字段


var json = [{ "title": "0-0", "key": "葉子", "children": [{ "title": "0-0-0", "key": "0-0-0", "children": [{ "title": "0-0-0-0", "key": "0-0-0-0" }, { "title": "0-0-0-1", "key": "0-0-0-1" }, { "title": "0-0-0-2", "key": "0-0-0-2" }] }, { "title": "0-0-1", "key": "0-0-1", "children": [{ "title": "0-0-1-0", "key": "0-0-1-0" }, { "title": "0-0-1-1", "key": "0-0-1-1" }, { "title": "0-0-1-2", "key": "0-0-1-2" }] }, { "title": "0-0-2", "key": "0-0-2" }] }, { "title": "0-1", "key": "0-1", "children": [{ "title": "0-1-0", "key": "0-1-0", "children": [{ "title": "0-1-0-0", "key": "0-1-0-0" }, { "title": "0-1-0-1", "key": "0-1-0-1" }, { "title": "0-1-0-2", "key": "0-1-0-2" }] }, { "title": "0-1-1", "key": "0-1-1", "children": [{ "title": "0-1-1-0", "key": "0-1-1-0" }, { "title": "0-1-1-1", "key": "0-1-1-1" }, { "title": "0-1-1-2", "key": "0-1-1-2" }] }, { "title": "0-1-2", "key": "0-1-2" }] }, { "title": "0-2", "key": "0-2" }]
var json2 = {};
function copy(obj) {
  for (var name in obj) {
    if (typeof obj[name] === "object") { //先判斷一下obj[name]是不是一個對象
      if (obj.key) {
        obj['new'] = obj.key;
      }
      copy(obj[name]); //然后來無限調用函數自己 遞歸思想
    } else {
      if (obj.key) {
        obj['new'] = obj.key;
      }  //如果不是對象,直接等於即可,不會發生引用。
    }
  }
  return obj; //然后在把復制好的對象給return出去
}
json2 = copy(json)

 


免責聲明!

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



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