JS 字符串不会分裂

问题描述 投票:0回答:1

这可能是一个愚蠢的问题,但我使用 fetch 从 API 获取了一个字符串。我从 .json() 数组中取出它,并将其拆分(第一次成功)。一旦我从第一次分割中取出它,我需要再次分割它,但它说

TypeError: var2.split is not a function
不是一个函数。我在下面添加了完整的代码:

var jsonLength = Object.keys(json).length;

          var current = 0;
          while (current < jsonLength) {
            let dateTime = json[current]["dateTime"];
            let type = json[current]["type"];

            dateTime = dateTime.split(" - ");
            let dateText = dateTime[0];
            let timeText = dateTime[1];

            let timeRow = document.createElement("tr");
            timeRow.setAttribute("id", "timeRow");
            //timeRow.setAttribute("onclick", "accountPopup(" + primary + ");");

            if (type == "out") {
              current++;

              let dateTime = json[current]["dateTime"];

              dateTime = dateTime.split(" - ");

              let date1 = dateText.toString();
              let time1 = timeText;

              if (dateText != dateTime[0]) {
                dateText = dateTime[0] + " <br> " + dateText;
              }

              timeText = dateTime[1] + " - " + timeText;

              date1 = date1.split(", ");
              date1Year = date1[1];
              date1 = date1.split(" ");
              date1Month = months.indexOf(date1[0]) + 1;
              date1Day = date1[1];
              date1 = new Date(
                date1Year + "-" + date1Month + "-" + date1Day + "T" + time1
              );

              let date2 = dateTime[0];
              date2 = date2.split(", ");
              date2Year = date2[1];
              date2 = date2.split(" ");
              date2Month = months.indexOf(date2[0]) + 1;
              date2Day = date2[1];
              date2 = new Date(
                date2Year +
                  "-" +
                  date2Month +
                  "-" +
                  date2Day +
                  "T" +
                  dateTime[1]
              );

              var hoursText = (date2.getTime() - date1.getTime()) / 1000;
            }

            let date = document.createElement("td");
            date.innerHTML = dateText;
            timeRow.appendChild(date);

            let times = document.createElement("td");
            times.textContent = timeText;
            timeRow.appendChild(times);

            let hours = document.createElement("td");
            hours.textContent = hoursText;
            timeRow.appendChild(hours);

            current++;

            table.appendChild(timeRow);
          }
        });

它说“代码太多,信息不足,所以这里有一些胡言乱语” l;askdfj l;aswekjr; oiajse;oijsd f;lawseif jasldkf m;akosdf jakswemf;oiasd vclsaemrio; ajse lkmasd iocvj selfkjm o;iasjd fl;kawje fio;as jel;kjf o;iasdjf ;aslkejf ;ioasdfu jl;askejf ;oiasj lkasdfj o;seijf lsk;ef jo;asiejf klasdfjnm oisvnoasdjniv oasenf jnsado;gijselkfm asdiof gj las;kdejnf aiogje es jnk o;iashj;odnfo;ajhfo iajsdefl;jkas efo;ijasl;ekf jo;asid fjlasdkf jioase jflk;asdjf o;asief jl;k j

javascript
1个回答
0
投票

Var2 是一个数组。您需要将其转换回字符串,然后拆分。

let var1 = json[0]["jsonVar"];
var1 = var1.split(" - "); // this one works fine
let var2 = var1[0].join("")
var2 = var2.split(", ");
© www.soinside.com 2019 - 2024. All rights reserved.