0
votes

spreadsheet I have a JSON file being pulled from google sheets. It reads my data by rows. The picture above shows the google sheet So far I've been able to get it into a 1-dimensional array but I can't get it to sort into a 2d array.

[ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday Event 1', 'Monday event 1', 'Tuesday event 1', 'Wedneday event 1', 'Thursday event 1', 'Friday event 1', 'Saturday event 1', 'Sunday Event 2', 'Monday event 2', 'Tuesday event 2', 'Wedneday event 2', 'event 2', 'Friday event 2', 'Saturday event 2', 'Sunday Event 3', 'Monday event 3', 'Tuesday event 3', 'Wedneday event 3', 'event 3', 'Friday event 3', 'Saturday event 3', 'Sunday Event 4', 'Monday event 4', 'Tuesday event 4', 'Wedneday event 4', 'event 4', 'Friday event 4', 'Saturday event 4', 'Monday event 5', 'Tuesday event 5', 'Wedneday event 5', 'event 5', 'Friday event 5', 'Saturday event 5', 'Monday event 6', 'Tuesday event 6', 'Wedneday event 6', 'event 6', 'Friday event 6', 'Saturday event 6', 'Monday event 7', 'Tuesday event 7', 'Wedneday event 7', 'Friday event 7', 'Saturday event 7', 'Monday event 8', 'Wedneday event 8', 'Friday event 8', 'Saturday event 8', 'Monday event 9', 'Wedneday event 9', 'Friday event 9', 'Saturday event 9', 'Monday event 10', 'Wedneday event 10', 'Friday event 10', 'Saturday event 10', 'Monday event 11', 'Friday event 11', 'Saturday event 11', 'Monday event 12', 'Friday event 12', 'Saturday event 12', 'Monday event 13', 'Friday event 13', 'Saturday event 13', 'Monday event 14', 'Saturday event 14', 'Monday event 15', 'Saturday event 15', 'Saturday event 16', 'Saturday event 17', 'Saturday event 18', 'Saturday event 19', 'Saturday event 20', 'Saturday event 21' ]

so basically i want a 2d array to have the data [[sunday][sundayevent1]] [[sunday][sundayevent2]... [[saturday][saturdayevent20]][[saturday][saturdayevent21]

here is how im importing as a 1d array...

var day = []
function getEvent() {
  fetch(url, settings)
      .then(res => res.json())
      .then((json) => {
        for (var i = 0; i < json.feed.entry.length; i++) {
          day[i] = json.feed.entry[i].gs$cell.inputValue
        }
        console.log(day)
  })
}

json.feed.entry[i].gs$cell.inputValue is each value of each individual cell and like I said it reads top-left cell to the right sorry if I am asking a dumb question but for whatever reason, I'm not able to get the answer myself right now so I thought I would give stack overflow a try...

var day = [[],[]]
for (var i = 0; i < json.feed.entry.length; i++) {
          var mydata = json.feed.entry[i].gs$cell.inputValue
          var row = json.feed.entry[i].gs$cell.row
          var col = jston.feed.entry[i].gs$cell.col
          day[row][col] = mydata
        }

I've tried this too and even though I have the row and column from the table it still won't make a proper 2 array

1
This implementation is... javascript? Add that as a tag, please. - Charles Duffy
omg yes im sorry i totally forgot to add that thanks for pointing that out! - Justin Russell
I absolutly dont understand the output you are expecting :) - Ji aSH
I want a 2d array with all Sunday events in element 0 all Monday events in element 1 so day[0][0] would be the first event on Sunday - Justin Russell
I have to apologize for my poor English skill. Unfortunately, from so basically i want a 2d array to have the data [[sunday][sundayevent1]] [[sunday][sundayevent2]... [[saturday][saturdayevent20]][[saturday][saturdayevent21] and I want a 2d array with all Sunday events in element 0 all Monday events in element 1 so day[0][0] would be the first event on Sunday, I cannot understand about the result you expect. Can I ask you about the detail of it? - Tanaike

1 Answers

0
votes
function getEvent() {
  fetch(url, settings)
      .then(res => res.json())
      .then((json) => {

        for (var i = 7; i < json.feed.entry.length; i++) {
           col = json.feed.entry[i].gs$cell.col
          day[i-7] = [];
          if(col == 1)
          {
            day[i-7][0] = "Sunday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          } else if(col == 2)
          {
            day[i-7][0] = "Monday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          }  else if(col == 3)
          {
            day[i-7][0] = "Tuesday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          } else if(col == 4)
          {
            day[i-7][0] = "Wednesday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          } else if(col == 5)
          {
            day[i-7][0] = "Thursday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          } else if(col == 6)
          {
            day[i-7][0] = "Friday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          } else if(col == 7)
          {
            day[i-7][0] = "Saturday"
            day[i-7][1] = json.feed.entry[i].gs$cell.inputValue
          }
        }
        console.log(day);
  })
}

yields results

[
  [ 'Sunday', 'Sunday Event 1' ],
  [ 'Monday', 'Monday event 1' ],
  [ 'Tuesday', 'Tuesday event 1' ],
  [ 'Wednesday', 'Wedneday event 1' ],
  [ 'Thursday', 'Thursday event 1' ],
  [ 'Friday', 'Friday event 1' ],
  [ 'Saturday', 'Saturday event 1' ],
  [ 'Sunday', 'Sunday Event 2' ],
  [ 'Monday', 'Monday event 2' ],
  [ 'Tuesday', 'Tuesday event 2' ],
  [ 'Wednesday', 'Wedneday event 2' ],
  [ 'Thursday', 'event 2' ],
  [ 'Friday', 'Friday event 2' ],
  [ 'Saturday', 'Saturday event 2' ],
  [ 'Sunday', 'Sunday Event 3' ],
  [ 'Monday', 'Monday event 3' ],
  [ 'Tuesday', 'Tuesday event 3' ],
  [ 'Wednesday', 'Wedneday event 3' ],
  [ 'Thursday', 'event 3' ],
  [ 'Friday', 'Friday event 3' ],
  [ 'Saturday', 'Saturday event 3' ],
  [ 'Sunday', 'Sunday Event 4' ],
  [ 'Monday', 'Monday event 4' ],
  [ 'Tuesday', 'Tuesday event 4' ],
  [ 'Wednesday', 'Wedneday event 4' ],
  [ 'Thursday', 'event 4' ],
  [ 'Friday', 'Friday event 4' ],
  [ 'Saturday', 'Saturday event 4' ],
  [ 'Monday', 'Monday event 5' ],
  [ 'Tuesday', 'Tuesday event 5' ],
  [ 'Wednesday', 'Wedneday event 5' ],
  [ 'Thursday', 'event 5' ],
  [ 'Friday', 'Friday event 5' ],
  [ 'Saturday', 'Saturday event 5' ],
  [ 'Monday', 'Monday event 6' ],
  [ 'Tuesday', 'Tuesday event 6' ],
  [ 'Wednesday', 'Wedneday event 6' ],
  [ 'Thursday', 'event 6' ],
  [ 'Friday', 'Friday event 6' ],
  [ 'Saturday', 'Saturday event 6' ],
  [ 'Monday', 'Monday event 7' ],
  [ 'Tuesday', 'Tuesday event 7' ],
  [ 'Wednesday', 'Wedneday event 7' ],
  [ 'Friday', 'Friday event 7' ],
  [ 'Saturday', 'Saturday event 7' ],
  [ 'Monday', 'Monday event 8' ],
  [ 'Wednesday', 'Wedneday event 8' ],
  [ 'Friday', 'Friday event 8' ],
  [ 'Saturday', 'Saturday event 8' ],
  [ 'Monday', 'Monday event 9' ],
  [ 'Wednesday', 'Wedneday event 9' ],
  [ 'Friday', 'Friday event 9' ],
  [ 'Saturday', 'Saturday event 9' ],
  [ 'Monday', 'Monday event 10' ],
  [ 'Wednesday', 'Wedneday event 10' ],
  [ 'Friday', 'Friday event 10' ],
  [ 'Saturday', 'Saturday event 10' ],
  [ 'Monday', 'Monday event 11' ],
  [ 'Friday', 'Friday event 11' ],
  [ 'Saturday', 'Saturday event 11' ],
  [ 'Monday', 'Monday event 12' ],
  [ 'Friday', 'Friday event 12' ],
  [ 'Saturday', 'Saturday event 12' ],
  [ 'Monday', 'Monday event 13' ],
  [ 'Friday', 'Friday event 13' ],
  [ 'Saturday', 'Saturday event 13' ],
  [ 'Monday', 'Monday event 14' ],
  [ 'Saturday', 'Saturday event 14' ],
  [ 'Monday', 'Monday event 15' ],
  [ 'Saturday', 'Saturday event 15' ],
  [ 'Saturday', 'Saturday event 16' ],
  [ 'Saturday', 'Saturday event 17' ],
  [ 'Saturday', 'Saturday event 18' ],
  [ 'Saturday', 'Saturday event 19' ],
  [ 'Saturday', 'Saturday event 20' ],
  [ 'Saturday', 'Saturday event 21' ]