在 Javascript 中一次合并两个字符串数组
2017-06-20
71
我有一个字符串数组,如何一次组合两个元素并用下划线分隔。
var array = ['a', 'b', 'c'];
输出应为
['a_b', 'a_c', 'b_c']
如何在 Javascript 中执行此操作?
请注意,这与 JavaScript 中的排列? 不同,因为我们需要两个元素的组合,并且不能是无法复制的数组元素。
谢谢。
3个回答
您可以使用嵌套循环来实现类似的效果:
var arr = ['a', 'b', 'c'];
var newArr = [];
for (var i=0; i < arr.length-1; i++) { //Loop through each item in the array
for (var j=i+1; j < arr.length; j++) { //Loop through each item after it
newArr.push(arr[i] + '_' + arr[j]); //Append them
}
}
console.log(newArr);
我选择将此标记为社区帖子,因为我个人认为,一个没有表现出任何尝试的问题不应该值得称赞。
2017-06-20
解决方案可能是:
function combine(arr) {
if (arr.length === 1) {
return arr; // end of chain, just return the array
}
var result = [];
for (var i = 0; i < arr.length; i++) {
var element = arr[i] + "_";
for (var j = i+1; j < arr.length; j++) {
result.push(element + arr[j]);
}
}
return result;
}
Dij
2017-06-20
它应该是双精度的,如下所示:
var output = [];
var array = ['a', 'b', 'c'];
for(var i = 0; i < array.length; i++){
for(var j = 0; j < array.length; j++) {
output.push(array[i] + "_" + array[j]);
}
}
输出为:
["a_a", "a_b", "a_c", "b_a", "b_b", "b_c", "c_a", "c_b", "c_c"]
Cristian Batista
2017-06-20