Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 要检查一个数组是否有另一个数组的值,如果有,请更改第一个数组的值并再次检查_Javascript_Arrays_Javascript Objects - Fatal编程技术网

Javascript 要检查一个数组是否有另一个数组的值,如果有,请更改第一个数组的值并再次检查

Javascript 要检查一个数组是否有另一个数组的值,如果有,请更改第一个数组的值并再次检查,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我试图检查一个数组是否有另一个数组的值,如果有,那么另一个数组的值应该在它旁边给出一个数字。如果有一个值仍然与另一个数组中的值匹配,则该数字应递增,直到它不再与另一个数组中的值匹配为止。我正在努力解决这个问题。衷心感谢您的帮助 例如,“Joe”在下面的代码中显示在两个数组中。这意味着第二个数组中的“Joe”应该是“Joe1”。由于“Joe1”也在数组中,“Joe1”中的“1”随后应递增为“Joe2”。非常感谢您的帮助 var arr=[{name:'Bob',num:0},{name:'Joe

我试图检查一个数组是否有另一个数组的值,如果有,那么另一个数组的值应该在它旁边给出一个数字。如果有一个值仍然与另一个数组中的值匹配,则该数字应递增,直到它不再与另一个数组中的值匹配为止。我正在努力解决这个问题。衷心感谢您的帮助

例如,“Joe”在下面的代码中显示在两个数组中。这意味着第二个数组中的“Joe”应该是“Joe1”。由于“Joe1”也在数组中,“Joe1”中的“1”随后应递增为“Joe2”。非常感谢您的帮助

var arr=[{name:'Bob',num:0},{name:'Joe',num:0},{name:'Alise',num:0}];
var arr2=[{name:'Frank',num:0},{name:'Joe',num:0},{name:'Jen',num:0},{name:'Joe1',num:0}];
var cnt=0
arr.forEach(函数(元素){
arr2.forEach(函数(元素2){
if(element2.name==element.name){
while(element2.name+element2.num===element.name){
元素2['num']=++cnt;
}
如果(element2.num!=0){
element2.name+=element2.num
}   
}
})
})
console.log(arr2)
var arr=[{name:'Bob',num:0},{name:'Joe',num:0},{name:'Alise',num:0}];
var arr2=[{name:'Frank',num:0},{name:'Joe',num:0},{name:'Jen',num:0},{name:'Joe1',num:0}];
var-arr3;
arr.forEach(e=>{
arr3=arr2.map(e2=>{
var name=e2.name.match(/[a-zA-Z]*/)[0]
如果(例如,名称===名称){
var number=e2.name.match(/[0-9]+/)
如果(数字){
e2.name=name+(+数字[0]+1)
}否则{
e2.name=name+1
}
}
返回e2
})
})

console.log(arr3)
element2['number']=++cnt看起来是逻辑中唯一使用
number
的地方,而不是
num
对于这个例子来说,期望的输出是什么?附加到这个例子的代码太混乱了,我不确定这里需要输出什么。元素名似乎不是由name+num组成的,但是它们在while循环中进行了比较,根据提供的值,这似乎不正确。谢谢,已更新@KostasX期望的输出是,arr2中的Joe应该更新为Joe2Great solution@Johnny。我似乎无法解决的一个问题是,“Joe1”也可以在arr1中。这意味着如果Joe1在arr1中,那么它不可能在arr2中,因此arr2中的“Joe1”必须更改为Joe2。非常感谢你的帮助!