js中如何挑选数组[{"2178":""},{"2179":"query,insert,update,delete"},{"2180":"query,insert,update,delete"}]对象的key相对应下列数组func_id相等的数组的item [ { "func_id": "2178", "func_name": "页面管理", "func_param": [ "all" ], "func_type": "1", "id": "2178", }, { "func_id": "2179", "func_name": "分组管理", "func_param": [ "all" ], "func_type": "2", "id": "2179", }, { "func_id": "2180", "func_name": "组件管理", "func_param": [ "all" ], "func_type": "2", "id": "2180", }, { "func_id": "2181", "func_name": "模板管理", "func_param": [ "all" ], "func_type": "2", "id": "2181", }, { "func_id": "2182", "func_name": "接口管理", "func_param": [ "all" ], "func_type": "1", "id": "2182", } ],最终得到结果为:[ { "func_id": "2178", "func_name": "页面管理", "func_param": [ "all" ], "func_type": "1", "id": "2178", }, { "func_id": "2179", "func_name": "分组管理", "func_param": [ "all" ], "func_type": "2", "id": "2179", }, { "func_id": "2180", "func_name": "组件管理", "func_param": [ "all" ], "func_type": "2", "id": "2180", } ]
时间: 2023-07-24 10:13:54 浏览: 33
在JavaScript中,你可以使用Array的`filter()`方法来筛选出符合条件的数组项。以下是实现该功能的代码:
```javascript
const array1 = [{"2178":""},{"2179":"query,insert,update,delete"},{"2180":"query,insert,update,delete"}];
const array2 = [
{
"func_id": "2178",
"func_name": "页面管理",
"func_param": [
"all"
],
"func_type": "1",
"id": "2178",
},
{
"func_id": "2179",
"func_name": "分组管理",
"func_param": [
"all"
],
"func_type": "2",
"id": "2179",
},
{
"func_id": "2180",
"func_name": "组件管理",
"func_param": [
"all"
],
"func_type": "2",
"id": "2180",
},
{
"func_id": "2181",
"func_name": "模板管理",
"func_param": [
"all"
],
"func_type": "2",
"id": "2181",
},
{
"func_id": "2182",
"func_name": "接口管理",
"func_param": [
"all"
],
"func_type": "1",
"id": "2182",
}
];
const filteredArray = array2.filter(item => array1.some(obj => obj.hasOwnProperty(item.func_id)));
console.log(filteredArray);
```
输出结果为:
```javascript
[
{
func_id: '2178',
func_name: '页面管理',
func_param: [ 'all' ],
func_type: '1',
id: '2178'
},
{
func_id: '2179',
func_name: '分组管理',
func_param: [ 'all' ],
func_type: '2',
id: '2179'
},
{
func_id: '2180',
func_name: '组件管理',
func_param: [ 'all' ],
func_type: '2',
id: '2180'
}
]
```
这段代码使用`filter()`方法对`array2`进行筛选,判断是否存在一个对象在`array1`中具有与其`func_id`相同的属性。如果存在,则保留该对象。最后返回的是符合条件的数组项。