【发布时间】:2022-12-12 05:21:45
【问题描述】:
我在通过对象数组过滤对象数组内的数据时遇到问题。我已经尝试将过滤器与 includes 方法结合使用,但返回一个空数组。
假设我有一个名为 listOfPermissions 的数组。
listOfPermissions = [
{name:'A',IsChecked:true},
{name:'B',IsChecked:true},
{name:'C',IsChecked:true}
]
比我想用 permissionOnRole 数组过滤列表
permissionOnRole = [
{name:'C',IsChecked: true}
]
我想达到的目标
result = [
{name:'A',IsChecked:true},
{name:'B',IsChecked:true},
]
这是我的代码
const setUncheckPermissions = () => {
const permissionsOnRole = role.permissions.map(it => ({name: it, isChecked: true}))
const listOfAllPermissions = props.permissions.map((permission) => {return {name: permission['name'], isChecked: true}});
let result = listOfAllPermissions.filter(item => permissionsOnRole.includes(item));
console.log(listOfAllPermissions)
}
请帮我解决这个问题先感谢您
【问题讨论】:
-
includes不起作用,因为对象是通过引用进行比较的,而不是通过嵌套字段进行比较的
标签: javascript reactjs