Javascript 数组到对象数组并返回
我需要一个通用方法来获取(数组数组)+(头数组)并将其转换为对象的JSON数组,然后将其转换回数组。位于的SQLike库中的“unpack”/“pack”方法可以执行此操作。出于各种原因,我真的不喜欢这个库,而更喜欢使用其他库。有人能推荐一个解决方案吗 为了澄清,我想在这两个数据“结构”之间来回切换:Javascript 数组到对象数组并返回,javascript,json,Javascript,Json,我需要一个通用方法来获取(数组数组)+(头数组)并将其转换为对象的JSON数组,然后将其转换回数组。位于的SQLike库中的“unpack”/“pack”方法可以执行此操作。出于各种原因,我真的不喜欢这个库,而更喜欢使用其他库。有人能推荐一个解决方案吗 为了澄清,我想在这两个数据“结构”之间来回切换: 1) var headers = ['col_1', 'col_2'] var data = [['x0', 0.34],['x1', 0.35]] 2) var objArr = [[
1) var headers = ['col_1', 'col_2']
var data = [['x0', 0.34],['x1', 0.35]]
2) var objArr = [[{col_1: 'x0'},{col_2: 0.34}], [{col_1: 'x1', col_2: 0.35}]]
我不能每次都创建对象模板,因为我正在从google工作表中读取各种数据。因此,我需要某种类型的通用方法来执行此操作。您可以使用命名的数组从数组中的数据在对象中创建属性:
function toObjects(headers, data) {
var result = [];
for (var i = 0; i < data.length; i++) {
var o = {};
for (var j = 0; j < headers.length; j++) {
o[headers[j]] = data[i][j];
}
result.push(o);
}
return result;
}
函数对象(标题、数据){
var结果=[];
对于(变量i=0;i
然后使用标题从对象中读取属性并放入数组:
function toArray(headers, data) {
var result = [];
for (var i = 0; i < data.length; i++) {
var a = [];
for (var j = 0; j < headers.length; j++) {
a.push(data[i][headers[j]]);
}
result.push(a);
}
return result;
}
函数到数组(标题、数据){
var结果=[];
对于(变量i=0;i
您可以使用命名的数组从数组中的数据在对象中创建属性:
function toObjects(headers, data) {
var result = [];
for (var i = 0; i < data.length; i++) {
var o = {};
for (var j = 0; j < headers.length; j++) {
o[headers[j]] = data[i][j];
}
result.push(o);
}
return result;
}
函数对象(标题、数据){
var结果=[];
对于(变量i=0;i
然后使用标题从对象中读取属性并放入数组:
function toArray(headers, data) {
var result = [];
for (var i = 0; i < data.length; i++) {
var a = [];
for (var j = 0; j < headers.length; j++) {
a.push(data[i][headers[j]]);
}
result.push(a);
}
return result;
}
函数到数组(标题、数据){
var结果=[];
对于(变量i=0;i
这应该行得通。注意,正如Guffa在评论中提到的,pack中数组中的值的顺序,即头部数组的生成顺序,不能保证与解包时相同,但头部和值是匹配的
函数解包(标题、值){
var结果=[];
对于(var v=0;v log(JSON.stringify(打包))代码>这应该行得通。注意,正如Guffa在评论中提到的,pack中数组中的值的顺序,即头部数组的生成顺序,不能保证与解包时相同,但头部和值是匹配的
函数解包(标题、值){
var结果=[];
对于(var v=0;v
var headers=['col_1','col_2'];
var数据=[[x0',0.34],[x1',0.35];
函数解包(标题、数据){
未打包的var=[]、obj、i、il、n、nl;
对于(i=0,il=data.length;i
var headers=['col_1','col_2'];
var数据=[[x0',0.34],[x1',0.35];
函数解包(标题、数据){
未打包的var=[]、obj、i、il、n、nl;
对于(i=0,il=data.length;i