Javascript 将数组合并为一个数组
我正在使用“推送”创建一个数组 所以结果是[对象,对象] 其中的代码如下所示:Javascript 将数组合并为一个数组,javascript,jquery,performance,Javascript,Jquery,Performance,我正在使用“推送”创建一个数组 所以结果是[对象,对象] 其中的代码如下所示: [Object, Object] 0: Object type: Array[6] 1: Object type: Array[4] 我想结合这两个对象,得到如下结果: ["Mike", "Matt", "Nancy", "Adam", "Jenny", "Carl", "Jim", "Issac", "Lee", "Won"] 我不知道该怎么做,有什么建议吗 代码
[Object, Object]
0: Object
type: Array[6]
1: Object
type: Array[4]
我想结合这两个对象,得到如下结果:
["Mike", "Matt", "Nancy", "Adam", "Jenny", "Carl", "Jim", "Issac", "Lee", "Won"]
我不知道该怎么做,有什么建议吗
代码示例:
dropdown: function(data) {
var arr = [];
$.each(data, function(key, value) {
arr.push({
type: value.type
});
});
}
既然指定了可以使用jquery,请检查
merge()
函数:既然指定了可以使用jquery,请检查merge()
函数:可以将一个数组连接到另一个数组
请注意,concat
创建一个新数组,而原始数组保持不变,这就是您必须重新分配它的原因
注意-对于三个数组,您可以继续传入它们
var arr1 = [0,1];
var arr2 = [2,3];
var arr3 = [4,5];
arr1 = arr1.concat(arr2, arr3);
console.log(arr1);
编辑 您提到了使用动态数组。我不知道你说的是什么意思,但我要注意,如果你有一个任意数组,并且你想让它们都集中,你可以这样做
var arr1 = [0,1];
var arr2 = [2,3];
var arr3 = [4,5];
var otherArrays = [arr2, arr3];
arr1 = Array.prototype.concat.apply(arr1, otherArrays);
console.log(arr1);
您可以使用将一个数组连接到另一个数组 请注意,
concat
创建一个新数组,而原始数组保持不变,这就是您必须重新分配它的原因
注意-对于三个数组,您可以继续传入它们
var arr1 = [0,1];
var arr2 = [2,3];
var arr3 = [4,5];
arr1 = arr1.concat(arr2, arr3);
console.log(arr1);
编辑 您提到了使用动态数组。我不知道你说的是什么意思,但我要注意,如果你有一个任意数组,并且你想让它们都集中,你可以这样做
var arr1 = [0,1];
var arr2 = [2,3];
var arr3 = [4,5];
var otherArrays = [arr2, arr3];
arr1 = Array.prototype.concat.apply(arr1, otherArrays);
console.log(arr1);
像这样使用
concat
arr1=["apple","orange","pineapple","pomegranate"];
arr2=["pizza","candy","chocolate","tasty"];
arr3=["food","drink"];
concatted=arr1.concat(arr2).concat(arr3);
您可以将这样的数组链接在一起,直到内存耗尽为止
或者,您也可以这样做
concatted=arr1.concat(arr2,arr3);
如果要删除重复项,可以使用此选项
Array.prototype.removeDuplicates=function(){
var newArray=[];
for(var i=0;i<this.length;i++){
if(newArray.indexOf(this[i])==-1){
newArray.push(this[i]);
}
}
return newArray;
}
Array.prototype.removeDuplicates=function(){
var newArray=[];
对于(var i=0;i使用concat
,如下所示
arr1=["apple","orange","pineapple","pomegranate"];
arr2=["pizza","candy","chocolate","tasty"];
arr3=["food","drink"];
concatted=arr1.concat(arr2).concat(arr3);
您可以将这样的数组链接在一起,直到内存耗尽为止
或者,您也可以这样做
concatted=arr1.concat(arr2,arr3);
如果要删除重复项,可以使用此选项
Array.prototype.removeDuplicates=function(){
var newArray=[];
for(var i=0;i<this.length;i++){
if(newArray.indexOf(this[i])==-1){
newArray.push(this[i]);
}
}
return newArray;
}
Array.prototype.removeDuplicates=function(){
var newArray=[];
对于(var i=0;i一个简单循环:
var result = [];
for (var i = 0; i < objects.length; i++) {
$.merge(result, object[i].type);
}
var结果=[];
对于(var i=0;i
一个简单的循环:
var result = [];
for (var i = 0; i < objects.length; i++) {
$.merge(result, object[i].type);
}
var结果=[];
对于(var i=0;i
well的重复,但我可以有2个以上的对象,它们可以是10个。我只是循环thr并将它们推到一个数组中。你能分享实际创建数组的代码吗;解释一下你所说的对象类型也很好。好吧-我在帖子中添加了你需要删除重复的对象吗?你的标题是merge
,但大多数答案使用的是concat
,它只是将一个数组附加到另一个数组。重复的好,但我可以有更多的2个对象,它们可以是10。我只是循环thr并将它们推到一个数组中。你能分享实际创建数组的代码吗;解释一下你所说的对象类型也很好。好的-我你需要删除重复的吗?你的标题是merge
,但大多数答案都使用concat
,它只是将一个数组附加到另一个数组。他希望合并,而不是连接。这将如何处理let say 3数组?其他数组是否可以=到arr1,arr2,arr3?arr=arr1.concat(arr2)。concat(arr3)
um,但arr如果是动态创建的,我会知道它们有多少个。不确定我是否清楚我不确定为什么数组是动态创建的很重要。你仍然可以访问数组,对吗?他希望合并,而不是连接。这将如何与假设为3的数组一起工作?otherArr可以=到arr1,arr2,arr3吗?arr=arr1.concat(arr2).concat(arr3)
um,但是arr是动态创建的,我知道有多少个。我不确定我是否清楚我不确定为什么数组是否是动态创建的很重要。你仍然可以访问数组,对吗?我想merge()只适用于2个数组,我不知道我要合并的数组的#数:/-它们可以是2或20。写一个循环,有什么问题吗?jQuery很棒,可以完成所有事情。但是在这种情况下,我认为concat
是best@scrblnrd3concat
不会删除重复项,是吗?阅读文档时,看起来不像merge删除了重复项我认为merge()只适用于2个数组,我不知道我要合并的数组的#数:/-它们可以是2或20。写一个循环,有什么问题吗?jQuery很棒,可以完成所有事情。但是在这种情况下,我认为concat
是best@scrblnrd3concat
不会删除重复项,是吗?阅读文档时,看起来不像merge删除了重复项ates也一样。+1-不知道为什么有些人坚持使用jQuery来处理一些简单地源于该语言的东西,因为jQuery很棒,而且可以做所有的事情!如果你不使用它,你的傻瓜(归功于bobince)小马,他会来:)+1-不知道为什么有些人坚持使用jQuery来处理一些简单的语言原生的东西,因为jQuery很棒,而且做所有的事情!如果你不使用它,你的傻瓜(归功于bobince)小马,他来了:)类似这样的:?$。每个(数据、函数(键、值){arr.push({type:value.type});例如(var i=0;i$中。每个循环,都是在创建对象数组后执行的操作。类似这样的操作:?$。每个(数据、函数(键、值){arr.push({type:value.type});for(var i=0;i$中。每个循环都是在创建对象数组后执行的操作。