
var data = [
{
categoryName: "扒皮机器人",
categoryNumber: "BPJQR",
children: [],
createDate: "2023-02-22T03:15:05Z",
createUserId: 12,
deleteFlag: 0,
id: 19,
idPath: "0,",
isRole: undefined,
name: "扒皮机器人",
nodeKey: 0,
orgId: 5,
parentId: 0,
parentName: null,
remark: "",
tenantId: 11,
title: "扒皮机器人",
updateDate: null,
updateUserId: null,
version: 1
},
{
categoryName: "扒皮机器人222",
categoryNumber: "BPJQR",
children: [],
createDate: "2023-02-22T03:15:05Z",
createUserId: 12,
deleteFlag: 0,
id: 19,
idPath: "0,",
isRole: undefined,
name: "扒皮机器人222",
nodeKey: 0,
orgId: 5,
parentId: 0,
parentName: null,
remark: "",
tenantId: 11,
title: "扒皮机器人222",
updateDate: null,
updateUserId: null,
version: 1
},
{
categoryName: "测试物料2",
categoryNumber: "CSWL2",
children: [
{
categoryName: "11111",
categoryNumber: "11111",
children: [
{
categoryName: "机电",
categoryNumber: "JD",
children: [],
createDate: "2023-02-22T05:57:22Z",
createUserId: 12,
deleteFlag: 0,
id: 20,
idPath: "0,3,5,",
isRole: undefined,
name: "机电",
nodeKey: 3,
orgId: 5,
parentId: 5,
parentName: "11111",
remark: "",
tenantId: 11,
title: "机电",
updateDate: null,
updateUserId: null,
version: 1
},
{
categoryName: "22222",
categoryNumber: "22222",
children: [],
createDate: "2023-02-22T03:01:21Z",
createUserId: 12,
deleteFlag: 0,
id: 6,
idPath: "0,3,5,",
isRole: undefined,
name: "22222",
nodeKey: 7,
orgId: 5,
parentId: 5,
parentName: "11111",
remark: "",
tenantId: 11,
title: "22222",
updateDate: null,
updateUserId: null,
version: 1
}
],
createDate: "2023-02-22T03:01:15Z",
createUserId: 12,
deleteFlag: 0,
expand: true,
id: 5,
idPath: "0,3,",
isRole: undefined,
name: "11111",
nodeKey: 2,
orgId: 5,
parentId: 3,
parentName: "测试物料2",
remark: "",
tenantId: 11,
title: "11111",
updateDate: null,
updateUserId: null,
version: 1
}
],
createDate: "2022-12-26T06:44:31Z",
createUserId: 14,
deleteFlag: 0,
expand: true,
id: 3,
idPath: "0,",
isRole: undefined,
name: "测试物料2",
nodeKey: 1,
orgId: 5,
parentId: 0,
parentName: null,
remark: "测试物料2",
tenantId: 11,
title: "测试物料2",
updateDate: null,
updateUserId: null,
version: 1
}
];
var query = '2';
var filterObj = function(item){
if(item.name.indexOf(query) > -1) return true;
if(item.hasOwnProperty("children")){
item.children = item.children.filter(function(child){
if (child.children && child.children.length) {
return filterObj(child);
} else {
return child.name.indexOf(query) > -1;
}
})
if(item.children.length > 0){
return true;
}
}else{
return child.name.indexOf(query) > -1;
}
}
var filter = data.filter(function(item){
return filterObj(item);
});
console.log(filter);