我有對象的兩個數組:創建陣列,其中密鑰匹配
var arOne = [
{key: 'alpha', value: 5},
{key: 'beta', value: 11},
{key: 'gamma', value: 15},
{key: 'delta', value: 12},
{key: 'epsilon', value: 55}
{key: 'pony', value: 101}
]
var arTwo = [
{key: 'alpha', value: 5.5},
{key: 'beta', value: 11.5},
{key: 'gamma', value: 15.5},
{key: 'psi', value: 12.5},
{key: 'omega', value: 55.5}
]
我需要值合併到陣列中的一個陣列。
密鑰匹配的情況:使用密鑰創建一個數組,並將值從arTwo
附加到arOne
。
密鑰不匹配的情況:如果密鑰存在於arOne
中,我包含的值爲arOne
,0和arTwo
。如果密鑰存在於arTwo
中,我包含的0和arTwo
的值。
請注意,arOne
和arTwo
可能會有不同的尺寸(請參閱arOne
中的pony
密鑰)。
這是結果應該是什麼樣子:
var result = [
['alpha', 5, 5.5],
['beta', 11, 11.5],
['gamma', 15, 15.5],
['delta', 12, 0],
['epsilon', 55, 0],
['pony', 101, 0],
['psi', 0, 12.5],
['omega', 0, 55.5],
]
我在這一天都一直盯着,劃傷了我所有的嘗試。有什麼想法嗎?
嵌套for循環! – thatidiotguy
你有什麼嘗試?我會建議兩個循環,一個循環遍歷第一個數組並填充'result',另一個循環遍歷第二個循環,並將新條目添加到'result'。 – Blazemonger
我試過$ .each(),因爲這些數組的大小不同,所以無法工作。我嘗試了一個嵌套for循環,但無法弄清楚如何訪問對象中的值。我希望jQuery有一個半優雅的解決方案,但可能不是。 –