Это происходит из-за следующей строки:
const filters = [this.state.filterAttributes] //[Part Number, Product Line]
Теперь filters
будет иметь следующее значение:
[[this.state.filterAttributes]]
const a = ['Part Number', 'Product Line']
const filters = [a]
console.log(filters)
То, что вы пытались сделать для копирования массива, должно быть следующим, используя оператор деконструкции:
const filters = [...this.state.filterAttributes]
const a = ['Part Number', 'Product Line']
const filters = [...a]
console.log(filters)
Кроме того, вот более короткий синтаксис для вашего map
рендеринга:
{filters.map(k => <th key={k}>{k}</th>)} //Do not forget the key
Вы также можете извлечь значение из вашего состояния вместокопирование его с помощью деконструкции:
const { filterAttributes } = this.state
<tr key={key}>
{filterAttribute.map(k => <th key={k}>{k}</th>)}
<td>{item.PartNumber}</td>
<td>{item.productline}</td>
</tr>