为对象中的项目分配数组值-Javascript / React

时间:2019-06-18 21:02:10

标签: javascript object

我有一个只有几个项目的对象,我想从数组更新一个属性的值。

对象:

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是电话,那么我想从数组中获取值并将其分配给选项,而不是对其进行硬编码。

在此ID电话对象中:

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

数组来自

this.props.phoneList

标签和值将为this.props.phoneList [i] .name

如何遍历此方法并从数组中获取最新值

1 个答案:

答案 0 :(得分:0)

这还应保持数组顺序完整:

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

  return {
    ...item,
    options: isPhone ? this.props.phoneList : (item.options || undefined)
  }
}