可以在文字对象表示法中使用array.map或相同的效果吗?

时间:2018-03-14 09:47:31

标签: javascript

以下作品

const rows = this.state.customers.map((customer) => {
  return {
    id: customer.id,
    columns: [
      customer.name,
      customer.primaryContactPerson.name,
      customer.primaryContactPerson.email
    ]
  }

const tableData = {
  headers: ['Name', 'Contact person', 'Contact details'],
  rows: rowws
  }

以下更紧凑但不起作用

  const tableData = {
    headers: ['Name', 'Contact person', 'Contact details'],
    rows: this.state.customers.map((customer) => {
      return {
        id: customer.id,
        columns: [
          customer.name,
          customer.primaryContactPerson.name,
          customer.primaryContactPerson.email
        ]
      }
    }

有什么方法可以用更紧凑的形式写出来吗?

1 个答案:

答案 0 :(得分:0)

很抱歉打扰了这个问题。似乎更紧凑的格式不起作用,因为我错过了一些符号,而不是因为文字对象的语法有些限制。

感谢您的帮助,无论如何!

这是一个工作版本:

const tableData = {
  headers: ['Name', 'Contact person', 'Contact details'],
  rows: this.state.customers.map((customer) => {
    return {
      id: customer.id,
      columns: [
        customer.name,
        customer.primaryContactPerson.name,
        customer.primaryContactPerson.email
      ]
    }
  }) 
}