Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Loops_Nested Loops - Fatal编程技术网

Javascript嵌套循环匹配、组合、替换

Javascript嵌套循环匹配、组合、替换,javascript,arrays,loops,nested-loops,Javascript,Arrays,Loops,Nested Loops,我有两个阵列: arr1 = ["a", "b", "c", "d", "e", "f", "g"] arr2 = ["z", "q", "a", "v", "y", "e"] 我希望生成一系列结果,如下所示: results = ["aa", "b", "c", "d", "ee", "f", "g"] 基本上,我想按arr1中的顺序将所有内容推入结果数组,如果它有匹配的组合键,则仍然列出arr1中的项。因此,结果数组是arr1中的每个项,但如果它在obj 2中的任何位置匹配,则取匹配键并

我有两个阵列:

arr1 = ["a", "b", "c", "d", "e", "f", "g"]
arr2 = ["z", "q", "a", "v", "y", "e"]
我希望生成一系列结果,如下所示:

results = ["aa", "b", "c", "d", "ee", "f", "g"]
基本上,我想按arr1中的顺序将所有内容推入结果数组,如果它有匹配的组合键,则仍然列出arr1中的项。因此,结果数组是arr1中的每个项,但如果它在obj 2中的任何位置匹配,则取匹配键并将其组合。注意:结果[0]是arr1[0]+arr2[2]而不是arr1[0]+arr1[0]

我的实际问题更复杂,但我认为这是我能推断出的最好的简化。我正在寻找一个嵌套循环(或任何可行的方法)来产生这个结果。任何帮助都将不胜感激,我知道我很接近,但到目前为止,我还没有能够制作出这个,并且一直在努力。谢谢大家!

回答:


我知道我很接近,但到目前为止,我还没能制作出这个。你能告诉我们到目前为止你有什么吗?学究,但是如果
arr1[0]
arr2[2]
是一样的,那么你加在一起得到什么结果并不重要。
var results=arr1.map(function(val){return val+(arr2.indexOf(val)>-1?val:“;”
(如Juhana的回答所示……但不清楚如果
arr2
包含多个
“a”
,或者如果可能的话,该怎么办。)我没有将其作为答案发布,因为我感觉实际问题并不是那么简单。谢谢!我不知道map方法,我想这就是我需要的,如果我能让它工作,我会尽快回复
var results = arr1.map(function (val) { 
  return val + (arr2.indexOf(val) > -1 ? val : ''); 
});