问题描述
data = {1950: {A:1,B:2,C:3,D:4},1960: {A:1,D:4,E:5},1970: {B:2,1980: {C:3,E:5}}
我正在努力解决如何为丢失的字母键/对补零,以便对象不再参差不齐。有没有人对我如何迭代和填充缺失值有任何想法?
解决方法
您可以使用 Object.keys()
迭代每个键并使用 defaultObject
填充 Object.assign()
中缺失的键。
const data = {1950: {A:1,B:2,C:3,D:4},1960: {A:1,D:4,E:5},1970: {B:2,1980: {C:3,E:5}},defaultObject = {A:0,B:0,C:0,D:0,E:0},result = Object.keys(data).reduce((r,k) => {
r[k] = Object.assign({},defaultObject,data[k]);
return r;
},{});
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }