在对象数组中查找递归(圆形)id javascript
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在对象数组中查找递归(圆形)id javascript相关的知识,希望对你有一定的参考价值。
users= [
Id: 1, parentId: 2,
Id: 2, parentId: 3,
Id: 3, parentId: 4,
Id: 4, parentId: 1
]
我有一组对象。在这里,如果数组有,我如何获得循环ID返回true。
1-22-33-44-1
case:finaly,Id 1 parentId不应为1。
答案
您需要遍历“树”并跟踪遇到的所有节点的Id
。如果多次遇到给定的Id
,则显示错误。
users = [
Id: 1, parentId: 2 ,
Id: 2, parentId: 3 ,
Id: 3, parentId: 4 ,
Id: 4, parentId: 1 ,
Id: 34, parentId: 34 ,
]
var ids =
users.forEach(function (e)
if (e.Id == e.parentId)
console.log(`$e.Id has same parent $e.parentId`)
if (ids[e.Id] || ids[e.parentId])
console.log(`For id $e.Id, found duplicate parent $e.parentId`)
ids[e.Id] = true
)
以上是关于在对象数组中查找递归(圆形)id javascript的主要内容,如果未能解决你的问题,请参考以下文章