我有两个数组:
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]
我的实际问题更复杂,但我认为这是我能推断的最佳简化。我正在寻找一个可以产生这个的嵌套循环(或任何有效的方法)。任何帮助将不胜感激,我知道我很接近,但到目前为止我还没有能够产生这一点,并且一直在试着把我的头发拉出来。谢谢!
答案 0 :(得分:0)
通过Juhana回答:
var results = arr1.map(function (val) {
return val + (arr2.indexOf(val) > -1 ? val : '');
});