[英]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.