Javascript 如果数组中存在重复值,请向用户发出警报

Javascript 如果数组中存在重复值,请向用户发出警报,javascript,Javascript,我有一个递归数组结构,如下所示: var trees = [{ name: "Node-1", myObj : { name : "Node-1"}, nodes: [ { name: "Node-1-1", myObj : { name : "Node-1"}, nodes[]} ] },{ name: "Node2", myObj : { name : "Abc"}, nodes: [] }]

我有一个递归数组结构,如下所示:

var trees = [{
    name: "Node-1",
    myObj : { name : "Node-1"},
    nodes: 
    [
           {   name: "Node-1-1", myObj : { name : "Node-1"}, nodes[]}
    ]
  },{
    name: "Node2",
    myObj : { name : "Abc"},
    nodes: []
  }];

var obj = {
    name: "Node-1-1",
    myObj : { name : "Node-1"},
    nodes: []
  }
现在,我想匹配trees数组中的obj.myObj.name值,如果找到,它应该立即返回true或false,并停止进一步遍历树,并提醒用户找到重复项

现在,您可以
obj.myObj.name
值与第一条记录匹配,所以我想提醒用户,但我总是得到false

这里的
obj.myObj.name
值即Node-1与
树[0].myObj.name的第一条记录匹配,因此我想提醒用户

更新:

根据这个问题给出的答案,我已经更改了代码和样本输入,但现在当我在
树[0]中有Pqr时,myObj.name
和obj包含Pqr,所以在搜索树中的obj值时,我想从树中跳过Pqr值,因为Pqr在其他树中不存在,所以我仍然得到Pqr exist

var树=[{
名称:“节点-1”,
myObj:{name:“Pqr”},
节点:
[
{name:“Node-1-1”,myObj:{name:“Abc”},nodes:[]}
]
},{
名称:“Node2”,
myObj:{name:“Abc”},
节点:[]
}];
var obj={
名称:“节点1-1”,
myObj:{name:“Pqr”},
节点:[]
}
checkDuplicateNodeName();
函数checkDuplicateNodeName(){
var name=obj.myObj.name;
var-dupe=false;
对于(var idx=0;idx}
我希望此代码将为您提供解决方案


变量树=[{
名称:“节点-1”,
myObj:{name:“Node-1”},
节点:
[
{name:“Node-1-1”,myObj:{name:“Node-1”},nodes:[]}
]
},{
名称:“Node2”,
myObj:{name:“Abc”},
节点:[]
}];
var obj={
名称:“节点1-1”,
myObj:{name:“Node-1”},
节点:[]
}

对于(var i=0;i我希望这段代码将为您提供解决方案


变量树=[{
名称:“节点-1”,
myObj:{name:“Node-1”},
节点:
[
{name:“Node-1-1”,myObj:{name:“Node-1”},nodes:[]}
]
},{
名称:“Node2”,
myObj:{name:“Abc”},
节点:[]
}];
var obj={
名称:“节点1-1”,
myObj:{name:“Node-1”},
节点:[]
}

对于(var i=0;我可以请您尝试我当前的示例输入,并查看我的更新您到底想做什么。您想在重复警报后运行代码还是停止执行。现在我不应该使用我的当前输入获取警报,因为您可以看到我没有两次pqr值,所以现在应该可以正常工作。您可以使用我的输入并查看您得到的结果吗?请您尝试我当前的示例输入,并查看我的更新您到底想做什么。您想在重复警报后运行代码还是停止执行。现在我不应该使用我的当前输入获取警报,因为您可以看到我没有两次pqr值,所以现在应该可以正常工作。您能使用我的输入并查看您得到了什么吗?我真的这样做了不明白哪个名称是重要的,节点外部对象的名称或myObj.name?顺便说一句。数据结构有点混乱。我真的不明白哪个名称是重要的,节点外部对象的名称或myObj.name?顺便说一句。数据结构有点混乱。