javascript - 从对象数组中获取属性

标签 javascript arrays ecmascript-6

我试图从每个数组中获取两个属性,然后以此形成一个数组。我还展示了预期的输出。


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/

相关文章:

javascript - 将异步函数的结果分配给同步函数中的变量

c - 我如何根据我的项目的具体选择进行选择?

javascript - 从数组中删除对象或嵌套对象

javascript - 为什么 Mongoose updateMany() 仅在使用 .then 时才起作用

java - Android 应用开发 : java vs. jquery mobile

javascript - 使用 BSF 预处理器发送 JSON POST 请求

字符串数组的 C 数组

c - for 循环查找数组中的最小元素

javascript - 如何在 ES6 中导出静态函数?

javascript - 移动和扩展图像以填充视口(viewport)过渡