js 多个数组合并 每一个值对应一个数组
var a=[’北京’,’天津’,’河北’,’上海’,’广东’];
var b=[’海淀’,’滨海新区’,’石家庄’,’浦东’,’深圳’];
var c=[’黄庄’,’海港’,’新华区’,’陆家嘴’,’福田区’];
var d=a.map((o,i)=》[o,b[i],c[i]]);
js数组concat方法返回新数组,是合并后的数组你造吗
我肯定造啊
concat( )连接数组——》返回新数组
join(separator)将数组元素连接起来构建成一个字符串——》返回字符串
reverse()颠倒数组中元素的顺序——》返回原数组
slice(starpos, endpos)返回数据的一部分——》返回新数组
splice(start,deleteCount,value)插入、删除或替换数据的元素——》返回原数组
js 数组合并
楼上的答案确认是对的,再给你一个答案,我觉得我写的比楼上的啰嗦。
/*
var datas = [
[’红色’, ’蓝色’],
[’XL’],
[’图片’, ’文字’]
];
*/
/*
var datas = [
[’红色’, ’蓝色’],
[’XL’],
[’图片’, ’文字’],
[1,2,3,4,5,6,7,8]
];
var datas = [
[’红色’, ’蓝色’],
[’XL’,’MS’],
[’图片’, ’文字’]
];
*/
var datas = [
[’红色’, ’蓝色’],
[’XL’,’MS’],
[’图片’, ’文字’],
[’WIN’,’LINUX’,’UNIX’,’OSX’]
];
var merge1 = function(arr1,arr2) {
var result = ;
for(var i=0;i《arr1.length;i++) {
for(j=0;j《arr2.length;j++) {
var tmp = ;
tmp.push(arr1[i]);
tmp.push(arr2[j]);
result.push(tmp);
}
}
return result;
}
var merge2 = function(arr1,arr2) {
var result = ;
for(var i=0;i《arr2.length;i++) {
for(var j=0;j《arr1.length;j++) {
var tmp = copy(arr1[j]);
tmp.push(arr2[i]);
result.push(tmp);
}
}
return result;
}
var copy = function(arr) {
var newArr = ;
return newArr.concat(arr);
}
var iterator = function(data) {
return {
data:data,
len:data.length,
current:0,
hasNext:function(){
return this.current 《 this.len;
},
next:function() {
if(!this.hasNext()) {
return null;
}
var i = this.current;
this.current++;
return this.data[i];
}
}
}
var it = iterator(datas);
var a1=null,a2=null;
while(it.hasNext()) {
if(a1 == null) {
a1 = it.next();
}
a2 = it.next();
if(a2 == null) {
break;
}
if(a1 instanceof Array) {
a1=merge2(a1,a2);
}else{
a1 = merge1(a1,a2);
console.log(a1)
}
}
console.log(a1);
怎么把两个js 数组过滤合并成一个数组谢谢
首先考虑的是两个数组之间靠什么来关联:
根据newArr得出: province的id对应的city里面的pid;
所以遍历数组时候合并的逻辑: id ==pid.然后合为新数组的一个元素。
var newArr=;
function combineArr(arr1, arr2){
var len = arr1.length;
for(var i=0; i《len; i++){
if(arr1[i].id == arr2[i].pid){
var obj = {};
obj[’name’]=arr1[i].name;
obj[’city’] = arr2[i].name;
newArr.push(obj);
}
return newArr;
}
}
JS合并数组的几种方法及优劣比较
你这里说的比较笼统.你说数组性能我首先想到的就是从两方面,一是数组的迭代二是向数组中添加元素.迭代的话是最普通的for循环效率最高,而且普通的for循环还可以继续优化,向数据中添加元素是用索引的方式添加元素最快,而且不同的浏览器各种方法效率有差异.但是利用索引添加元素最快无疑.
js数组如何合并生成一个新的数组
var oldarr=
[
[“1“,“2“,“3“],
[“4“,“5“,“6“],
[“7“,“8“,“9“]
];
var newarr=;
let i=0;
oldarr.forEach(e1=》{
oldarr.forEach(e2=》{
oldarr.forEach(e3=》{
newarr[i++]=e1+e2+e3;
})
})
});
console.log(JSON.stringify(newarr));