gpt4 book ai didi

javascript - 从 JSON 结构中删除行标题

转载 作者:行者123 更新时间:2023-12-01 02:47:00 27 4
gpt4 key购买 nike

enter image description here

这是一个link我的电子表格

//max CPC
var maxCPC = 3.00;
//min CPC
var minCPC = 0.50;
//percentage change down


function main() {
var SPREADSHEET_URL = "https://docs.google.com/spreadsheets/d/1QGJU5FJVmKI3A5A3NFY-XQU7MlBOG0VmvUIZvx8Bitg/edit#gid=72338765";

var spreadsheet = SpreadsheetApp.openByUrl(SPREADSHEET_URL);
var sheet = spreadsheet.getSheetByName('Campaigns');
var data = sheet.getRange("A:C").getValues();

var test = parseData(data)
}


function isBlank(line) {
return line[0].trim() === '' && line[1].trim() === '';
}


function parseData(data) {

const output = {};
var currentGroupName = '';

data.forEach(function(line){
if (isBlank(line)){
return;
}

if (line[0].trim().length > 1) {
currentGroupName = line[0].trim();
}

output[currentGroupName] = output[currentGroupName] || {};

output[currentGroupName][line[1]] = line[2];
});

return output;
}

此代码允许我将 Google 电子表格重新格式化为 JSON 结构。我不想包含第一行,因为它是标题行,但我不知道该怎么做。我如何修改我的代码才能正常工作?

最佳答案

如果您不关心内存使用情况,那么使用 ES2015 destructuring assignment 是一个不错的选择。 ,这将让您将 data 数组分解为一个新的 header 数组和一个包含所需行数组的新 lines 数组。使用它您的代码可能如下所示:

function parseData(data) {

const output = {};
var currentGroupName = '';
[header, ...lines] = data; // break data into the first item, 'header', and the rest of the items, 'lines'

lines.forEach(function(line){
if (isBlank(line)){
return;
}

if (line[0].trim().length > 1) {
currentGroupName = line[0].trim();
}

output[currentGroupName] = output[currentGroupName] || {};

output[currentGroupName][line[1]] = line[2];
});

return output;
}

但是,如果您不想复制数据数组,也可以仅在 forEach 中包含 index 参数。在 parseData 函数内部调用,并在迭代各行时使用它跳过第一行数据:

function parseData(data) {

const output = {};
var currentGroupName = '';

data.forEach(function(line, index){
if (isBlank(line) || index === 0){
return;
}

if (line[0].trim().length > 1) {
currentGroupName = line[0].trim();
}

output[currentGroupName] = output[currentGroupName] || {};

output[currentGroupName][line[1]] = line[2];
});

return output;
}

关于javascript - 从 JSON 结构中删除行标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47191376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com