Javascript 从另一个数组中的两个数组中指定一个元素

Javascript 从另一个数组中的两个数组中指定一个元素,javascript,arrays,Javascript,Arrays,如果我有两个数组,我想从每个数组中得到一个元素,然后把它放到另一个数组中。 我想要这样的东西: var array1 = [2, 3, 8]; var array2 = [4, 6, 5]; var array3 = array1[0].push(array2[0]); var array3 = []; array3.push(array1[0]); array3.push(array2[0]); 因此,输出将是:array3=[2,4]。如何在javascript中实现这一

如果我有两个数组,我想从每个数组中得到一个元素,然后把它放到另一个数组中。 我想要这样的东西:

var array1 = [2, 3, 8];
var array2 = [4, 6, 5];
var array3 = array1[0].push(array2[0]);
var array3 = [];
    array3.push(array1[0]);
    array3.push(array2[0]);
因此,输出将是:
array3=[2,4]
。如何在
javascript
中实现这一点

提示:我知道push函数用于将元素追加到数组中,但我想要的是将一个数组中的元素追加到另一个数组中的另一个元素。
或者,附加两个元素并将其放入数组中。

您可以创建一个类似

var array3 = [array1[0], array2[0]]
在代码中存在多个问题

  • array1[0]
    返回一个数字而不是数组,因此它没有push方法
  • 即使使用
    array1.slice(0,1)
    来获取包含第一个元素的数组,push()方法也会返回一个数字(数组的长度-2),因此赋值将不起作用
所以另一种方法是

var array3 = array1.slice(0,1);
array3.push(array2[0])

我想你正在寻找这样的东西:

var array1 = [2, 3, 8];
var array2 = [4, 6, 5];
var array3 = array1[0].push(array2[0]);
var array3 = [];
    array3.push(array1[0]);
    array3.push(array2[0]);
我创建了一个空的新数组,然后向其中添加了元素——就这么简单


您可能还需要查看array.splice函数:)

这可用于任意数量的阵列

function getArray (n) {
    var newArray = [];
    if (arguments[1][0] instanceof Array) {
        for (var i = 0; i < arguments[1].length; i += 1) {
            newArray.push(arguments[1][i][n]);
        }
    } else {
        for (var i = 1; i < arguments.length; i += 1) {
             newArray.push(arguments[i][n]);
        }
    }
    return newArray;
}
[1,4]

你的方式 根据您的描述,您可以这样使用:

var array1 = [1,2,3];
var array2 = [4,6,5];

var array3 = genArray(0, array1, array2);
如果要从数组元素中插入/删除方法,请使用拼接方法。主要区别在于: slice方法:返回新数组元素,不修改现有数组元素。start和EndIndex需要两个参数。例如:

var a[3,4,5]
a.slice(0,1) // it returns [3]
拼接方法:删除和/或插入阵列中的元素。与slice()不同,splice()方法修改原始数组并返回新数组。它需要三个参数,第三个参数是可选的。第一个参数是开始删除和/或插入元素的索引,第二个参数是要删除的元素数,第三个参数(可选)是要添加到数组中的新元素。例如:

 Var a = [1,2,5,6]
    var b = [3,4]
    a.splice().apply(a,[2,0].concat(b)) // a insert new element as [1,2,3,4,5,6]

//or if you want replace and append new element below like as:

 a.splice().apply(a,[2,1].concat(b)) // a delete [5] element and return as new array as [1,2,3,4,6] 

你为什么不这样做,
array3=[array1[0],array2[0]]
,你这样做完全是错误的。你这样做的主要目的是“检查同一数组的两个元素是否相同,不是吗?(基于你的标题)。如果是这样,你应该尝试其他方法。