Javascript 如何在js中比较和替换数组中的值?
我有一个对象数组,每个对象包含两个属性,月和计数。计数的默认值为0。我还有一个对象数组,它是从一个json文件中提取的,具有不同的计数值。我正在尝试将计数值从第2个数组替换为第1个数组 乙二醇 我的问题是,我的第二个数组较短,因为缺少了几个月(因为它们在db中没有值),在这种情况下,我想跳过并转到下一个对象。所以最终的结果是这样的Javascript 如何在js中比较和替换数组中的值?,javascript,arrays,object,Javascript,Arrays,Object,我有一个对象数组,每个对象包含两个属性,月和计数。计数的默认值为0。我还有一个对象数组,它是从一个json文件中提取的,具有不同的计数值。我正在尝试将计数值从第2个数组替换为第1个数组 乙二醇 我的问题是,我的第二个数组较短,因为缺少了几个月(因为它们在db中没有值),在这种情况下,我想跳过并转到下一个对象。所以最终的结果是这样的 array1[ { month:1, count:5 }, { month:2, count:3 }, {
array1[
{
month:1,
count:5
},
{
month:2,
count:3
},
{
month:3,
count:9
},
{
month:4,
count:0
}
{
month:5,
count:4
}
etc...
]
到目前为止我的代码
var array1 = [];
for (var i = 1; i <= 12; i++) {
array1.push({
month: i,
count: 0
})
}
$.getJSON(url, function (data) {
for (var i = 0; i < data.length; i++) {
if (array1[i].month == data[i].month) { //work until month 4
array1[i].count = data[i].count
}
});
console.log(array1);
var数组1=[];
对于(var i=1;i如果数组中始终有一年中的月份,则可以使用该月份作为原始数组的索引,并在必要时进行更新
for (var i = 0; i < data.length; i++) {
array1[data[i].month - 1].count = data[i].count;
}
for(变量i=0;i
结果将出现在第一个数组中:
function mergeArrays(arr1, arr2) {
arr1.forEach(function(item1) {
var item2 = arr2.find(function (item2) {
return item2.month === item1.month;
});
if (item2) {
Object.assign(item1, item2);
}
})
}
function mergeArrays(arr1, arr2) {
arr1.forEach(function(item1) {
var item2 = arr2.find(function (item2) {
return item2.month === item1.month;
});
if (item2) {
Object.assign(item1, item2);
}
})
}