Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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_Concatenation - Fatal编程技术网

Javascript 组合两个元素数不同的数组

Javascript 组合两个元素数不同的数组,javascript,arrays,concatenation,Javascript,Arrays,Concatenation,假设我们有两个阵列: x = [1, 2, 3]; y = ['a', 'b']; 将它们结合起来并获得以下结果的最佳方法是什么: newArray = ['1a', '1b', '2a', '2b', '3a', '3b']; [ ["1a", "1b"], ["2a", "2b"], ["3a", "3b"] ] 以下是一种方法: x.reduce(function(arr, x) { return arr.concat(y.map(function(y) { return

假设我们有两个阵列:

x = [1, 2, 3];
y = ['a', 'b'];
将它们结合起来并获得以下结果的最佳方法是什么:

newArray = ['1a', '1b', '2a', '2b', '3a', '3b'];
[ ["1a", "1b"], ["2a", "2b"], ["3a", "3b"] ]

以下是一种方法:

x.reduce(function(arr, x) {
  return arr.concat(y.map(function(y) {
    return x + y;
  }));
}, []);
//=> ["1a", "1b", "2a", "2b", "3a", "3b"]

使用嵌套循环迭代参与数组的所有元素。在内部循环中填充新数组元素:

var x = [1, 2, 3];
var y = ['a', 'b'];

var newArray = [];
x.forEach(function(xItem) {
  y.forEach(function(yItem) {
    newArray.push(xItem.toString().concat(yItem));
  });
});

console.log(newArray);
最简单的方法是:

var x = ["a", "b", "c"];
var y = [1, 2, 3];
var newArray = [];
var i = 0;
for (;i < x.length;++i) {
  var j = 0;
  for (;j < y.length;++j) {
    newArray.push(x[i] + y[j]);
  }
}
;
var x=[“a”、“b”、“c”]; 变量y=[1,2,3]; var newArray=[]; var i=0; 对于(;i 请注意,如果两个数组都是数字,这实际上会添加数字,而不是串联。您需要进行一些字符串转换。

尝试以下操作:

var x=[1,2,3];
变量y=['a','b'];
var输出=[];
对于(变量i=0;i
变量x=[1,2,3];
变量y=['a','b'];
var z=[];
对于(var i=0;i试试这个.)

var x = [1, 2, 3];
var y = ['a', 'b'];
var newarr = [];
for(var i=0;i<x.length;i++){
 for(var j=0;j<y.length;j++){
     newarr.push(x[i]+y[j]);
 }
}
//alert(newarr);
var x=[1,2,3];
变量y=['a','b'];
var newarr=[];

对于(var i=0;i您可以简单地创建一个要返回的数组,并对包含数字的数组执行一个简单的循环。在该循环中,您可以为数字的组合数组创建另一个循环(
var b=0,e=comb.length;e>b;b++
)。使用第一个循环中的
i
(var i=0,l=array.length;l>i++)
)将数组(
a[i]
)和组合数组推送到新数组的位置
b
c[b]
)(在第一个循环的循环内)。最后,返回新数组

function CombineExample(a,c){
    var New=[];
    for(var i=0,l=a.length;l>i;i++){
        for(var b=0,e=c.length;e>b;b++){
             New.push(a[i]+c[b])
        }
    }
    return New
}
清洁!并执行此操作以使用:

CombineExample([1,2,3],['a','b'])
/* returns ["1a", "1b", "2a", "2b", "3a", "3b"] */

如果支持箭头函数,则可获得如下所示的预期结果:

[].concat.apply([],
    x.map(x => y.map(y => x+y))
);
如果没有,你必须这样写

[].concat.apply([],
    x.map(function(x) { return y.map(function(y) {return x+y })})
);
说明:

中间线产生以下结果:

newArray = ['1a', '1b', '2a', '2b', '3a', '3b'];
[ ["1a", "1b"], ["2a", "2b"], ["3a", "3b"] ]

然后使用
Array.prototype.concat
方法连接内部数组。

使用嵌套循环迭代参与数组的所有元素。在内部循环中填充新的数组元素。