Javascript 如何用Lodash将数组转换为对象数组
例如,如何转换:Javascript 如何用Lodash将数组转换为对象数组,javascript,arrays,object,lodash,Javascript,Arrays,Object,Lodash,例如,如何转换: [ "20170101|9,4,4,2,6", "20170102|0,7,5,6,2" ] 进入 如果使用lodash而不使用中间变量,效果会更好。不是一行,但它会给你一个方法 var a=[ "20170101|9,4,4,2,6", "20170102|0,7,5,6,2" ]; a=uu.map(a,函数(o){ var split=o.split(“|”), numbers=..map(split[1].split(','),..ary(parseInt,
[
"20170101|9,4,4,2,6",
"20170102|0,7,5,6,2"
]
进入
如果使用lodash而不使用中间变量,效果会更好。不是一行,但它会给你一个方法
var a=[
"20170101|9,4,4,2,6",
"20170102|0,7,5,6,2"
];
a=uu.map(a,函数(o){
var split=o.split(“|”),
numbers=..map(split[1].split(','),..ary(parseInt,1)),
sum=uu.sum(数字);
返回{
日期:拆分[0],
数字:数字,
sum:sum,
oddOrEven:(总和%2==0?'偶数':'奇数')
}
});
控制台日志(a)代码>
您可以这样做:
var aryData=[“20170101 | 9,4,4,2,6”,“20170102 | 0,7,5,6,2”]
,aryObjects=[];
用于(aryData中的var i){
var aryFields=aryData[i]。拆分(“|”);
如果(aryFields.length!=2){
继续;
}
变量aryNumbers=aryFields[1]。拆分(“,”),整数=0;
for(变量n,以数字表示){
aryNumbers[n]=parseInt(aryNumbers[n]);
整数+=芳基数[n];
}
push({date:aryFields[0]
,编号:aryNumbers
,sum:intSum
,oddorEven:((整数%2)==0)?“偶数”:“奇数”)};
}
console.dir(对象)代码>..map(myArray,parseItem)代码>您可以编写自己的函数来解析一行到一个对象。
[
{
date:"20170101"
numbers:[9, 4, 4, 2, 6]
sum:25
oddOrEven:'odd',
},
{
date:"20170102",
numbers:[0, 7, 5, 6, 2],
sum:20,
oddOrEven:'even',
}
]