我現在有一個情況我有2個物體看起來像這樣的:Javascript:如何輕鬆地用第二個對象的數據替換對象值?
object a = {n: 15, b: 12, v: 10, h: 9} and so on.
object b = {1: e, 2: b, 3: z, 4: w} and so on.
我需要從對象B採用的值,並使用這些對象來代替值。結果會是什麼樣子:
object c = {n: e, b: b, v: z} etc.
一個重要的事情是,如果在對象的更多條b比對象,我仍然需要它們添加到對象C的結束。所以如果對象b中還有3個項目,最後可能會發生類似{24:a,25:y,26:w}的事情。
當然,我首先想到的是一個循環,我將遍歷對象a中的每個項目,並用對象b中的值替換'值'。但我不知道是否有更好的方法,尤其是考慮到確保來自對象b的所有項目都包含在新對象中。
由於這種擔心,替代方案可能是將對象b中的鍵替換爲對象a中的鍵。這樣,如果對象a耗盡,對象b中的最後一項不會被排除。
我也試過:
Object.assign(a, b);
但只有當密鑰是相同的工作,所以這是行不通的。我需要任何匹配索引來索引這兩個對象。
如果很重要,我可以將對象b更改爲任何我想要的,因爲它是靜態的。所以,我可以這樣做:
object b = [e, b, z] etc. or
object b = {e: e, b: b, z: z}
無論什麼最容易做到。
我很欣賞任何人可能有的想法,或者如果你可以指向一個好的職位,包括像這樣的東西的方向。我目前正在淘網上嘗試任何聽起來像可能會發揮作用的東西,但到目前爲止,沒有什麼適合的。
另外值得注意的是,在這一點上,我使用純香草JS,所以如果有一個庫或其他東西可以使這個超級簡單,我願意。
例如,對象b {1:e,2:b,3:z,4:w}中的某些值是b,z並且是字符串類型還是變量? –
由於JS不保證對象中的屬性順序,因此您的問題基本上不能很好地指定。 – 2017-06-17 03:49:42