如何在javascript中将数组转换为数组对象?
How to convert an array into an array object in javascript?
我的方案是上传包含这样数据的文本文件
a1,b1,,c1,d1,
a2,b2,,c2,d2,
从数据中,我能够读取并用 ("\n") 拆分它,结果是
array=[array[0]:[a1,b1,,c1,d1]
array[1]:[a2,b2,,c2,d2]]
如何将上面的数组填充到我的数组对象中?
示例输出:
newarray=[[name="a1",age:"b2",address="",contact="c1",gender="d1"],
[name="a2",age:"b2",address="",contact="c2",gender="d2"]]
由于数组中每个属性的位置似乎是固定的,所以我会创建一个具有固定赋值的函数。像这样:
var str = "a1,b1,,c1,d1,\na2,b2,,c2,d2,";
var objects = parseString(str);
console.log(objects);
function parseString(strIn){
var objectList = [];
var splitResult = strIn.split("\n");
for(var i=0;i<splitResult.length;i++){
var valueArray = splitResult[0].split(",");
objectList.push(mapToObject(valueArray));
}
return objectList;
}
function mapToObject(array){
return {
name: array[0],
age:array[1],
address: array[2],
contact: array[3],
gender:array[4]
};
}
function arrToObj(arr){
var newArr = [];
arr.forEach(function(value,index){
obj = {};
obj.name = value[0];
obj.age = value[1];
obj.contact = value[2];
newArr.push(obj);
});
return newArr;
}
我的方案是上传包含这样数据的文本文件
a1,b1,,c1,d1,
a2,b2,,c2,d2,
从数据中,我能够读取并用 ("\n") 拆分它,结果是
array=[array[0]:[a1,b1,,c1,d1]
array[1]:[a2,b2,,c2,d2]]
如何将上面的数组填充到我的数组对象中?
示例输出:
newarray=[[name="a1",age:"b2",address="",contact="c1",gender="d1"],
[name="a2",age:"b2",address="",contact="c2",gender="d2"]]
由于数组中每个属性的位置似乎是固定的,所以我会创建一个具有固定赋值的函数。像这样:
var str = "a1,b1,,c1,d1,\na2,b2,,c2,d2,";
var objects = parseString(str);
console.log(objects);
function parseString(strIn){
var objectList = [];
var splitResult = strIn.split("\n");
for(var i=0;i<splitResult.length;i++){
var valueArray = splitResult[0].split(",");
objectList.push(mapToObject(valueArray));
}
return objectList;
}
function mapToObject(array){
return {
name: array[0],
age:array[1],
address: array[2],
contact: array[3],
gender:array[4]
};
}
function arrToObj(arr){
var newArr = [];
arr.forEach(function(value,index){
obj = {};
obj.name = value[0];
obj.age = value[1];
obj.contact = value[2];
newArr.push(obj);
});
return newArr;
}