Мне любопытно, можно ли вернуть деструктурированный объект в той же строке, в которой он был деструктурирован.
Текущие (рабочие) примеры:
используя 2 строки
const itemList = json.map((item) => {
const { id, title } = item;
return { id, title };
});
1 строка, но не деструктурирована
const itemList = json.map((item) => {
return { id: item.id, title: item.title }; // This also requires repeating the field name twice per instance which feels hacky
});
Можно ли сжать тело до одной строки?
пример (не работает)
const itemList = json.map((item) => {
return { id, title } = item;
}
Деструктурируйте параметры обратного вызова и верните объект:
const itemList = json.map(({ id, title }) => ({ id, title }))
Работает только в этой конкретной ситуации с картографом массива, но не в том случае, если у вас была «просто» функция и внутри нее часть реструктуризации, как показано в первом примере OP:
() => { const {a,b} = foo; return {a,b}; }