繁体   English   中英

如何使用 JavaScript 从多维数组中获取动态数组元素?

[英]How to get dynamic array elements from multidimensional array using JavaScript?

输入数据:

[
  {
    'id': 10,
    'name': 'kohli',
    'email': 'kohli@email.com',
    'phone': '8080808080'
  },
  {
    'id': 11,
    'name': 'john',
    'email': 'john@email.com',
    'phone': '987679090'
  }
]

我想使用上述多维数组获取特定元素,但需要动态调用。

例子:-

function getDataFromArray(Params){
  // login here
}

1. getDataFromArray(['id','name']) =>

  [
      {
        'id': 10,
        'name': 'kohli'
      },
      {
        'id': 11,
        'name': 'john'
      }
    ]

在这个例子中,我们只想获取 id 和 name。

2. getDataFromArray(['name','email']) =>

  [
      {
        'name': 'kohli',
        'email': 'kohli@email.com'
      },
      {
        'name': 'john',
        'email': 'john@email.com'
      }
    ]

在这个例子中,我们只想获取姓名和电子邮件。

那么我们可以管理这个吗?

非常直接的映射/减少操作

 const arr = [ { 'id': 10, 'name': 'kohli', 'email': 'kohli@email.com', 'phone': '8080808080' }, { 'id': 11, 'name': 'john', 'email': 'john@email.com', 'phone': '987679090' } ] function getDataFromArray(params) { return arr.map(item => params.reduce((o, param) => ({ ...o, [ param ]: item[param] }), {})) } console.log("['id','name'] =>", getDataFromArray(['id','name'])) console.log("['name','email'] =>", getDataFromArray(['name', 'email']))
 .as-console-wrapper{max-height: 100% !important;}

数组中的每个条目映射到一个新对象,该对象是通过params减少到一个对象来构造的,该对象具有来自params键和来自数组中对象的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM