let treeData = [
{
"idDate": 1704868262192,
"children": [
{
"idDate": 1704868266169,
children: [
{
"idDate": 1704868266169569,
children:[
{
"idDate": 1704868634016,
"invsetidDate": 1704868272912,
}
],
}
],
"childrenEditList": [
{
"idDate": 1704868272912,
"invsetidDate": 1704868266169,
childrenEditList: [
{
"idDate": 170486827291200,
"invsetidDate": 170486826616999,
}
]
}
]
},
{
"idDate": 170486826616956,
"id": "1638747485630599169",
children: []
}
]
}
]
function findDataByIdDate(data, idDate) {
// 遍历当前层级的数据
for (let item of data) {
// 检查当前节点的idDate是否匹配
if (item.idDate === idDate) {
return item;
}
// 检查当前节点的childrenEditList是否存在
if (item.childrenEditList && item.childrenEditList.length > 0) {
// 递归查找childrenEditList中的数据
let result = findDataByIdDate(item.childrenEditList, idDate);
if (result) {
return result;
}
}
// 检查当前节点的children是否存在
if (item.children && item.children.length > 0) {
// 递归查找children中的数据
let result = findDataByIdDate(item.children, idDate);
if (result) {
return result;
}
}
}
// 没有找到匹配的数据
return null;
}
// 使用示例
const idDateToFind = 1704868266169569;
let result = findDataByIdDate(treeData, idDateToFind);
console.log(result);