如果我有两个数组,并且我想获得每个数组的一个元素并将其放在另一个数组中。 我想要这样的东西:
var array1 = [2, 3, 8];
var array2 = [4, 6, 5];
var array3 = array1[0].push(array2[0]);
以便输出为:array3 = [2,4]
。我怎么能在javascript
?
提示:我知道push函数用于将元素追加到数组,但我想要的是将元素从一个数组追加到另一个数组中的另一个元素。 或者,附加两个元素并将其放入数组中。
答案 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...
)
&GT;
getArray(0, [1,2,3], [4,5,6])
[1,4]
&GT;
getArray(1, [1,2,3], [4,5,6])
[2,5]
&GT;
getArray(0, [1,2,3], [4,5,6], [7,8,9])
[1,4,7]
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]