问题描述
var c = {
'aa-bb': [{ a: 1,v: 2}],'cc-xz': [{ c: 2}]
}
console.log(Object.keys(c))
我需要创建一个对象,其键(名称)必须来自 Object.keys。
对于每个键名,必须如下定义一个数组类型的对象。
你能帮我一把吗?
结果:
const res = {
'aa-bb': Array(number).fill(0),'cc-xz': Array(number).fill(0)
};
解决方法
var c = {
'aa-bb': [{
a: 1,v: 2
}],'cc-xz': [{
c: 2
}]
}
const keys = Object.keys(c);
let res = {},number = 5;
keys.forEach(key => res[key] = Array(number).fill(0));
console.log(res);
映射键,并创建 [key,array]
对,然后使用 Object.fromEntries()
转换回对象:
const fn = (obj,arrLengh) =>
Object.fromEntries(
Object.keys(obj)
.map(key => [key,Array(arrLengh).fill(0)])
);
const c = {"aa-bb":[{"a":1,"v":2}],"cc-xz":[{"c":2}]};
const result = fn(c,5);
console.log(result);