Я пытаюсь быстро вытащить свойство «значение» из некоторых объектов, используя деструктурирование .. есть ли простой способ получить это от этого? Я думаю, что это возможно с помощью какой-то сложной деструктивной вещи, которую я не совсем понял.Вытягивание того же значения из ряда ключей
Я знаю, что могу использовать циклы и т. Д., Но я хотел бы сделать его немного более элегантным. Я ищу не-повторяющееся, идеально 1-2-строчное решение. Я хотел бы использовать карту, но это работает только на массиве ...
formData = {
name: {val: 'myName', key: 'value', etc: 'more data'}
province: {val: 'myProvince', key: 'value', etc: 'more data'}
dateOfBirth: {val: 'myBDAY!', key: 'value', etc: 'more data'}
}
//desired outcome:
{
name: 'myName',
province: 'myProvince',
dateOfBirth: 'myBDAY!'
}
//attempt 1
let customer = { name, province, dateOfBirth} = formData; //hrm doesn't get me there
Где вы указываете, что он должен использовать свойство «val» каждого элемента при деструктурировании? – Barmar
Если вы используете знак подчеркивания или lodash, тогда «выщипывайте» его. В качестве альтернативы 'Object.keys (formData) .reduce (function (acc, key) {acc [key] = formData [key] .val; return acc;}, {});' –
@Barmar нигде .. это было плохо «попробуй», но я не мог придумать, как сделать это красиво. – Damon