现在有这样的数据:
var data = {
'stateA': {
a: [0,300],
b: [0,200],
c: [0,500],
d: [0,320],
e: [0,800],
f: [0,150]
},
'stateB': {
a: [0,0],
b: [50,0],
c: [200,0],
d: [0,0],
e: [0,0],
f: [350,0]
},
//stateC...D...E...N-1
}
其中stateA
和stateB
中的键值是完全相同的,都有a-f
,且数组的长度是相同的,目前长度是2,每多一个state,长度会增加1。现在想合并两个state为
{
a: [0,300],
b: [50,200],
c: [200,500],
d: [0,320],
e: [0,800],
f: [350,150]
}
即stateA[a]
第一个元素和stateB[a]
的第一个元素对比,如果都为0,则该位置为0,
如果有一个不为0,则取值不为0的那个
比如
[0,300]
[0,0]
得到[0,300]
不会出现
[0,300]
[0,200]
相同位置都不为0的情况,至少有一个会是0,
请问这样的数据怎么处理比较快捷呢?搞了几个for循环头都大了
试试是不是你要的