#javascript #object #ecmascript-6 #key #javascript-objects
Вопрос:
var c = {
'aa-bb': [{ a: 1, v: 2}],
'cc-xz': [{ c: 2}]
}
console.log(Object.keys(c))
Мне нужно создать объект, ключи которого (имя) должны быть из Object.keys.
Для каждого имени ключа должен быть определен объект типа array, как показано ниже.
Не могли бы вы мне помочь?
Результат:
const res = {
'aa-bb': Array(number).fill(0),
'cc-xz': Array(number).fill(0)
};
Комментарии:
1. откуда взялся твой «номер»?
Ответ №1:
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);
Ответ №2:
Сопоставьте ключи, создайте пары и [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);