Javascript 嵌套循环匹配、合并、替换
Javascript Nested Loop Matching, Combining, Replacing
我有两个数组:
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 中的任何地方都匹配,则获取匹配的键并将其组合。注意:results[0] 是 arr1[0] + arr2[2] 而不是 arr1[0] + arr1[0]
我的实际问题更复杂,但我认为这是我能推断出的最好的简化。我正在寻找一个会产生这个的嵌套循环(或任何有效的方式)。任何帮助将不胜感激,我知道我很接近但到目前为止我还无法制作这个,并且一直在努力尝试。谢谢!
回答者Juhana:
var results = arr1.map(function (val) {
return val + (arr2.indexOf(val) > -1 ? val : '');
});
我有两个数组:
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 中的任何地方都匹配,则获取匹配的键并将其组合。注意:results[0] 是 arr1[0] + arr2[2] 而不是 arr1[0] + arr1[0]
我的实际问题更复杂,但我认为这是我能推断出的最好的简化。我正在寻找一个会产生这个的嵌套循环(或任何有效的方式)。任何帮助将不胜感激,我知道我很接近但到目前为止我还无法制作这个,并且一直在努力尝试。谢谢!
回答者Juhana:
var results = arr1.map(function (val) {
return val + (arr2.indexOf(val) > -1 ? val : '');
});