Назначить значения массива для элемента в объекте - Javascript / React - PullRequest
0 голосов
/ 19 июня 2019

У меня есть объект с несколькими элементами, и я хочу обновить значения одного свойства из массива.

Объект:

structure = [
        {
            id: 'name',
            label: 'Name',
            filterType: 'text',
            filterOn: 'contains'
        },
        {
            id: 'address',
            label: 'Address',
            filterType: 'text',
            filterOn: 'contains'
        },
        {
            id: 'phone',
            label: 'Phone',
            filterType: 'select',
            filterOn: 'contains',
            options: [{ label: 'abc', value: 'abc' },
                    { label: 'xyz', value: 'xyz' },
                    { label: 'mno', value: 'mno' }]
        }
    ];

если идентификатор телефона, то я хочу получить значения из массива и назначить его для параметров вместо жесткого кодирования.

В этом объекте id телефона:

  options: [{ label: 'abc', value: 'abc' },
                   { label: 'xyz', value: 'xyz' },
                   { label: 'mno', value: 'mno' }]
       }
   ];

массив поступает из

this.props.phoneList

метка и значения будут this.props.phoneList [i] .name

как зациклить это и получить последние значения из массива

1 Ответ

0 голосов
/ 19 июня 2019

Это также должно сохранить порядок массива:

const newStructure = structure.map(item => {
  const isPhone = item.id === “phone”

  return {
    ...item,
    options: isPhone ? this.props.phoneList : (item.options || undefined)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...