我有两个数组,我试图比较并创建第三个
我的第一个数组:
sevenDays = ["04","05","06","07","08","09","10"];
Run Code Online (Sandbox Code Playgroud)
我的第二个数组:
json[0] = [Object{day="04",value="5"}, Object { day="05",value="8"}, Object { day="09",value="9"}]
Run Code Online (Sandbox Code Playgroud)
我想要得到的是:
[[04,5],[05,8],[06,0],[07,0],[08,0],[09,9],[10,0]]
Run Code Online (Sandbox Code Playgroud)
我试过这样的
var desiredArray= [];
$.each(sevenDays, function (i, v) {
val= 0;
if (json[0][i].value) val = json[0][i].value;
desiredArray[i] = [v, val]
});
[[04,5],[05,8],[06,9],[07,0],[08,0],[09,0],[10,0]] //output
Run Code Online (Sandbox Code Playgroud)
您目前比较从指数值i
中sevenDays
的value
索引对象的财产i
的json[0]
,但是这不是正确的,因为顺序不匹配.值为09
2,json[0]
但是09
索引为5 sevenDays
.
您需要迭代sevenDays
,并且每次迭代迭代json[0]
以找到匹配的对象,如下所示:
var desiredArray = [];
$.each(sevenDays, function (i, day) {
val = 0;
$.each(json[0], function(j, value) {
if(day == value.day)
val = value.value;
});
desiredArray[i] = [day, val];
});
Run Code Online (Sandbox Code Playgroud)
看看这个工作演示.