我试图从每个数组中获取两个属性,然后以此形成一个数组。我还展示了预期的输出。
columns = [
{Header: ƒ, Cell: ƒ, sortable: false, show: true},
{Header: ƒ, accessor: "firstName", sortable: false, show: true},
{Header: ƒ, accessor: "status", sortable: false, show: true},
{Header: ƒ, accessor: "visits", sortable: false, show: true}
]
我想要的输出是
[{name: "firstName",show: true},{name: "status",show: true},{name:"visits", show: true}]
我试过这种获取一个字段的方法,如何获取两个值,然后形成一个新的对象数组 itslef。
let keys = [...new Set(arr.map(arr => arr.accessor))]; // able to get one property, but need two in form of object
最佳答案
使用一个简单的Map()
:
columns.filter(
col => !!col.accessor).map(
column => ({ name: column.accessor, show: column.show })
)
过滤器删除没有 accessor
属性的列。
Map()
返回格式化数组。
const columns = [
{Header:"ƒ", Cell: "ƒ", sortable: false, show: true},
{Header: "ƒ", accessor: "firstName", sortable: false, show: true},
{Header: "ƒ", accessor: "status", sortable: false, show: true},
{Header: "ƒ", accessor: "visits", sortable: false, show: true}
]
const newColumns = columns.filter(
col => !!col.accessor).map(
column => ({ name: column.accessor, show: column.show })
);
console.log(newColumns);
关于javascript - 从对象数组中获取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56751945/