Javascript 如何将默认值设置为JSON数组

Javascript 如何将默认值设置为JSON数组,javascript,arrays,json,Javascript,Arrays,Json,请帮我做这个 我每月从数据库中获取数据数组。我遇到的问题是,我正在获取这样的数据 无论哪里有空值,我都不会得到任何会给我工作带来问题的值,所以我需要像这样的数据 但数据是从数据库中动态获取的,该数据库只提供大于0的值。我只想获取默认值为0的所有月份。您可以在程序中指定一个默认列表,如果您没有从数据库中获取数据,则返回默认列表 let defaults=[{1月:0},{2月:0},{3月:0},{4月:0},{5月:0},{6月:0},{7月:0},{8月:0},{9月:0},{10月:0},

请帮我做这个

我每月从数据库中获取数据数组。我遇到的问题是,我正在获取这样的数据

无论哪里有空值,我都不会得到任何会给我工作带来问题的值,所以我需要像这样的数据


但数据是从数据库中动态获取的,该数据库只提供大于0的值。我只想获取默认值为0的所有月份。

您可以在程序中指定一个默认列表,如果您没有从数据库中获取数据,则返回默认列表

let defaults=[{1月:0},{2月:0},{3月:0},{4月:0},{5月:0},{6月:0},{7月:0},{8月:0},{9月:0},{10月:0},{11月:0},{12月:0}];
让databaseValue=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日];
让monthToSearch=“June”;
让databaseFound=databaseValue.find(o=>o.hasOwnProperty(monthToSearch));
如果(!databaseFound){
databaseFound=defaults.find(o=>o.hasOwnProperty(monthToSearch));
}

console.log(数据库已找到)您可以在程序中指定一个默认列表,如果您没有从数据库中获取数据,则返回默认列表

let defaults=[{1月:0},{2月:0},{3月:0},{4月:0},{5月:0},{6月:0},{7月:0},{8月:0},{9月:0},{10月:0},{11月:0},{12月:0}];
让databaseValue=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日];
让monthToSearch=“June”;
让databaseFound=databaseValue.find(o=>o.hasOwnProperty(monthToSearch));
如果(!databaseFound){
databaseFound=defaults.find(o=>o.hasOwnProperty(monthToSearch));
}
console.log(数据库已找到)给你!
您可以简单地转换获取的数据,并通过迭代更新该对象

var data=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日];
var theMonths=[“一月”、“二月”、“三月”、“四月”、“五月”,
“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
var monthfetched=data.map(x=>Object.keys(x)[0]);
每月地图(周一=>{
如果(!monthFetched.includes(mon)){
让缺少的_条目={};
缺少_条目[mon]=0;
数据推送(缺少输入);
}
})
console.log(数据)
给你! 您可以简单地转换获取的数据,并通过迭代更新该对象

var data=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日];
var theMonths=[“一月”、“二月”、“三月”、“四月”、“五月”,
“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”];
var monthfetched=data.map(x=>Object.keys(x)[0]);
每月地图(周一=>{
如果(!monthFetched.includes(mon)){
让缺少的_条目={};
缺少_条目[mon]=0;
数据推送(缺少输入);
}
})

console.log(数据)
您可以使用
中的
Date.toLocaleString()
数组#获取所有月份,然后将
0
分配给缺少的月份

const input=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日],
allMonths=Array.from({length:12}),
(u,i)=>新日期(2020年,i).toLocaleString({},{month:'long'})),
查找=对象。分配(…输入),
result=allMonths.map(month=>({[month]:查找[month]| | 0}));

控制台日志(结果)
您可以使用
中的
Date.toLocaleString()
数组#获取所有月份,然后将
0
分配给缺少的月份

const input=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日],
allMonths=Array.from({length:12}),
(u,i)=>新日期(2020年,i).toLocaleString({},{month:'long'})),
查找=对象。分配(…输入),
result=allMonths.map(month=>({[month]:查找[month]| | 0}));

控制台日志(结果)您可以构建一个对象并获取一个最小名称数组来创建一个对象数组

const
年份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘九月’、‘十月’、‘十一月’、‘十二月’],
数据=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日],
object=object.assign({},…数据),
结果=year.map(month=>({[month]:object[month]| | 0}));
控制台日志(结果)

。作为控制台包装器{max height:100%!important;top:0;}
您可以构建一个对象并获取一个最小名称数组来创建一个对象数组

const
年份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘九月’、‘十月’、‘十一月’、‘十二月’],
数据=[{1月:6日,{2月:2日,{10月:7日,{12月:4日,{11月:5374日],
object=object.assign({},…数据),
结果=year.map(month=>({[month]:object[month]| | 0}));
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
这还不足以帮助您。什么数据库?你怎么称呼它(什么查询)?此外,是否所有月份都实际存在于数据库中,且值为
null
(或
0
)?还是完全缺席?根据当前的信息,无法确定为什么会跳过空条目。这还不足以帮助您。什么数据库?你怎么称呼它(什么查询)?此外,是否所有月份都实际存在于数据库中,且值为
null
(或
0
)?还是完全缺席?根据当前的信息,无法确定为什么会跳过空条目。
[{January: 6}, {February: 2}, {October: 7}, {December: 4}, {November: 5374}]
[{January: 6}, {February: 2}, {March: 0}, {April: 0}, {May: 0}, {June: 0}, {July: 0}, {August: 0}, {September: 0}, {October: 7}, {November: 5373}, {December: 4}]