如何组合2个数组并将它们标记为Javascript对象?
我有两个阵列:如何组合2个数组并将它们标记为Javascript对象?,javascript,arrays,Javascript,Arrays,我有两个阵列: var a = [100, 100, 100, 100, 50, 21.88, 28.13, 21.88, 25.81, 22.58]; var b = ["2012", "2013", "2015", "2012", "2014", "2015", "2015", "2015", "2015", "2015"]; 我尝试组合两个数组,使它们与每个值匹配,并给它们一个y和句点的标签 [{y:100, period:2012},{y:100, period:2013},{y:10
var a = [100, 100, 100, 100, 50, 21.88, 28.13, 21.88, 25.81, 22.58];
var b = ["2012", "2013", "2015", "2012", "2014", "2015", "2015", "2015", "2015", "2015"];
我尝试组合两个数组,使它们与每个值匹配,并给它们一个y和句点的标签
[{y:100, period:2012},{y:100, period:2013},{y:100, period:2015}, ...]
我一直在尝试以下方法:
for(var i = 0; i < a.length; i++){
items = items.concat($.map(a[i].items,function(elem){
return {y:elem.a, period:elem.b};
}));
}
console.log(items)
for(变量i=0;i
只需使用数组#映射
即可。无需使用forloop
。您使用了错误的回叫。请使用({key:value})
var a=[10010010050,21.88,28.13,21.88,25.81,22.58];
var b=[“2012年”、“2013年”、“2015年”、“2012年”、“2014年”、“2015年”、“2015年”、“2015年”、“2015年”];
变量项=a.map(函数(i,k){
返回({y:i,句点:b[k]})
})
console.log(项目)
您可以使用array\map
const a=[10010010050,21.88,28.13,21.88,25.81,22.58],
b=[“2012”、“2013”、“2015”、“2012”、“2014”、“2015”、“2015”、“2015”、“2015”、“2015”];
var result=a.map((n,i)=>({y:n,周期:b[i]}));
控制台日志(结果)代码>
.as控制台包装{max height:100%!重要;top:0;}
var newarr=newarray();
对于(变量i=0;i
这就是你所需要的。var a=[10010010050,21.88,28.13,21.88,25.81,22.58];
var a = [100, 100, 100, 100, 50, 21.88, 28.13, 21.88, 25.81, 22.58];
var b = ["2012", "2013", "2015", "2012", "2014", "2015", "2015", "2015", "2015", "2015"];
var items = [];
for(var i = 0; i < a.length; i++){
var item = {
y: a[i],
period: b[i]
};
items.push(item);
}
console.log(items)
var b=[“2012年”、“2013年”、“2015年”、“2012年”、“2014年”、“2015年”、“2015年”、“2015年”、“2015年”];
var项目=[];
对于(变量i=0;i
您可以对键使用数组并迭代值
var a=[10010010050,21.88,28.13,21.88,25.81,22.58],
b=[“2012”、“2013”、“2015”、“2012”、“2014”、“2015”、“2015”、“2015”、“2015”、“2015”],
cols=['y','period'],
结果=[a,b].reduce(函数(r,a,i){
a、 forEach(函数(b,j){
r[j]=r[j]|{};
r[j][cols[i]]=b;
});
返回r;
}, []);
控制台日志(结果)代码>
。作为控制台包装{max height:100%!important;top:0;}
您可以通过两种方式完成此操作。下面举例说明
1)jQuery.merge()
将两个数组的内容合并到第一个数组中
示例
var first = [ "a", "b", "c" ];
var second = [ "d", "e", "f" ];
$.merge( $.merge( [], first ), second );
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1
$.extend( object1, object2 );
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );
结果
[ "a", "b", "c", "d", "e", "f" ]
{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
2)jQuery.extend()
将两个或多个对象的内容合并到第一个对象中
示例
var first = [ "a", "b", "c" ];
var second = [ "d", "e", "f" ];
$.merge( $.merge( [], first ), second );
var object1 = {
apple: 0,
banana: { weight: 52, price: 100 },
cherry: 97
};
var object2 = {
banana: { price: 200 },
durian: 100
};
// Merge object2 into object1
$.extend( object1, object2 );
// Assuming JSON.stringify - not available in IE<8
$( "#log" ).append( JSON.stringify( object1 ) );
您可以用简单的方法实现这一点
var a=[10010010050,21.88,28.13,21.88,25.81,22.58];
var b=[“2012年”、“2013年”、“2015年”、“2012年”、“2014年”、“2015年”、“2015年”、“2015年”、“2015年”];
变量项={};
var final=[];
对于(变量i=0;i console.log(最终版)
使用下面的映射功能
var a = [100, 100, 100, 100, 50, 21.88, 28.13, 21.88, 25.81, 22.58];
var b = ["2012", "2013", "2015", "2012", "2014", "2015", "2015", "2015", "2015", "2015"];
var fullArr = [];
var i = 0;
fullArr = $.map(a, function(curVal, index, arr){
return [{y:curVal, period:b[index]}];
});
console.log(fullArr);
请在下面检查
您可以在JavaScript数组中使用forin
var arr1=[10010010050,21.88,28.13,21.88,25.81,22.58],
arr2=[“2012年”、“2013年”、“2015年”、“2012年”、“2014年”、“2015年”、“2015年”、“2015年”、“2015年”],
finalArr=[],键;
用于(输入arr1){
最后推({
y:arr1[键],
期间:arr2[关键]
})
}
控制台日志(finalArr)代码>您正在使用箭头函数。IE11不支持它们。