将Google Sheets返回的二维数组转换为对象数组的实现求助
将Google Sheets二维数组转换为对象数组
你可以使用JavaScript的Array.map()方法结合数组解构完成转换,代码实现如下:
const sheetData = [ [ 'Teresa', 'lname', 44, 'hindi', 'math', 'sci' ], [ 'Conn', 'de', 55, 'hindi', 'math', 'che' ], [ 'Caterina', 'ddd', 33, 'math', 'hindi', 'bio' ], [ 'Papagena', 'dd', 42, 'math', 'hindi', 'geo' ], [ 'Fabien', 'des', 33, 'hindi', 'eng', '' ] ]; const result = sheetData.map(([name, lastName, age, ...subjects]) => ({ name, lastName, age: Number(age), // 确保age为数字类型,适配Google Sheets可能返回字符串的情况 subjects })); console.log(result);
代码说明:
sheetData.map()遍历原二维数组的每一项用户数据- 数组解构
[name, lastName, age, ...subjects]将子数组前三个元素分别赋值给对应属性,剩余元素通过扩展运算符...统一收集到subjects数组 - 对象字面量简写语法直接使用变量名作为属性名,简化代码
Number(age)处理Google Sheets可能返回字符串类型年龄的场景,保证类型正确性
执行代码后,result即为你需要的对象数组格式。
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

