Я новичок в Javascript.
Мне нужно написать функцию для преобразования массива объектов в объект с заданным ключом.
Ввод такой, как этот
convert([{id: 1, value: 'abc'}, {id: 2, value: 'xyz'}], 'id')
и вывод должен быть таким
{
'1': {id: 1, value: 'abc'},
'2': {id: 2, value: 'xyz'}
}
Я попробовал приведенный ниже код.
Когда я пытаюсь сделать это прямо в консоли, кажется, что это работает.
var arr = [{ id: 1, name: 'John', role: 'Developer'},
{ id: 2, name: 'Jane', role: 'Lead'},
{ id: 3, name: 'Robbie', role: 'QA'}];
let res = arr.reduce((prev, current) => {
prev[current.v] = current;
return prev;
}, {})
console.log(res)
Но, когда я пытаюсь сделать это из функции, она не работает.
function f(k, v) {
//console.log(k);
k.reduce((prev, current) => {
prev[current.v] = current;
return prev;
console.log(prev)
}, {})
}
f(arr, 'role');
Любая помощь будет высоко оценена.