从另一个数组中的两个数组中分配一个元素

时间:2015-04-28 03:23:33

标签: javascript arrays

如果我有两个数组,并且我想获得每个数组的一个元素并将其放在另一个数组中。 我想要这样的东西:

var array1 = [2, 3, 8];
var array2 = [4, 6, 5];
var array3 = array1[0].push(array2[0]);

以便输出为:array3 = [2,4]。我怎么能在javascript

中做到这一点

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

4 个答案:

答案 0 :(得分:4)

你可以创建一个像

这样的数组
var array3 = [array1[0], array2[0]]

在您的代码中存在多个问题

  • array1[0]返回的数字不是数组,因此它没有推送方法
  • 即使您使用array1.slice(0,1)获取包含第一个元素的数组,push()方法也会返回一个数字(数组的长度为2),因此作业无法正常工作

另一种方式是

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

答案 1 :(得分:1)

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

prepaid = no

我创建了一个空的新数组,然后添加了元素 - 就这么简单!

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

答案 2 :(得分:0)

这适用于任意数量的数组

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;
}

Lemme为您提供一些示例,向您展示其工作原理:

getArray( index , array1 , array2 , so on... )

1

  

&GT; getArray(0, [1,2,3], [4,5,6])

     

[1,4]

2:

  

&GT; getArray(1, [1,2,3], [4,5,6])

     

[2,5]

3:

  

&GT; getArray(0, [1,2,3], [4,5,6], [7,8,9])

     

[1,4,7]

4:

getArray(0, [
[1,2,3],
[4,5,6]
])
     

[1,4]

你的方式

根据您的描述,您可以使用它:

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

var array3 = genArray(0, array1, array2);

答案 3 :(得分:0)

jquery slice method is used to returns the array element which you want. for example:

   var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
   var a = ["fruit","veg"];
   var newarray = fruits.slice(0,1); 
   newarray.push(a[0])
   alert(newarray)

如果要插入/删除方法表单数组元素使用splice方法。主要区别在于: slice方法:返回新的数组元素而不修改现有的数组元素。它需要两个参数来启动&amp; ENDINDEX。例如:

var a[3,4,5]
a.slice(0,1) // it returns [3]

splice方法:删除和/或插入数组中的元素。与slice()不同,splice()方法修改原始数组并返回一个新数组。它需要三个参数,第三个参数是可选的。第一个参数是开始删除和/或插入元素的索引,第二个参数是要删除的元素数,第三个参数(可选)是要添加到元素中的新元素array.For eg:

 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]