2016-05-27 149 views
-5

我對使用哪種方法來迭代對象的屬性有疑問。迭代對象屬性的Javascript方法

我有兩個相同的對象。第一個對象是main,第二個對象是clone

有很多嵌套。我沒有時間編寫所有的for,for in,forEach循環,因爲有很多嵌套。

如何從main替換clone的各個屬性的值?這種方法是否已經存在?

+1

這種方法不內置的JavaScript。你將不得不自己編寫或找到一個擁有這種方法的庫。 – jfriend00

+0

好的。你用這種方法知道一些圖書館嗎? – Maksim

+0

如果不能寫出循環,則使用遞歸。 – Bergi

回答

1

你可以做這樣的事情

function fillClone(source,target) 
{ 
    if(typeof source == "array" && typeof target != "array") 
     target = []; 
    else if(typeof source == "object" && typeof target != "object") 
     target = {}; 
    for (var i in source) { 
     if(typeof i == "object" || typeof i == "array") 
      fillClone(source[i],target[i]); 
     else 
      target[i] = source[i]; 
    } 
    return target; 
}