我有对象的两个数组:创建阵列,其中密钥匹配
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有一个半优雅的解决方案,但可能不是。 –