javascript - 对 3 个嵌套数组感到困惑

标签 javascript arrays typescript

我正在从 SharePoint 文档库中保存的 Excel 文件中提取数据。我得到了行,但我对数据结构感到困惑。我对typscript/javascript还很陌生。

我正在取回行:

private _getRows(documentLibraryID: string, documentID: string, worksheet: string, table: string): Promise<[MicrosoftGraph.WorkbookTableRow]> {
  return new Promise<any>((resolve, reject) => {
    this.props.context.msGraphClientFactory
    .getClient()
      .then((client: MSGraphClient): void => {
        client
          .api(`/sites/${URL}/drives/${documentLibraryID}/items/${documentID}/workbook/worksheets('${worksheet}')/Tables('${table}')/rows`)
          .get((error, response: any, rawResponse?: any) => {
            if (response) {
              let rows:[MicrosoftGraph.WorkbookTableRow] = response.value;

              resolve(rows);
            }
            else {
              reject(error);
            }
          });
        });
  });
}

我得到什么:

enter image description here

我尝试枚举数组:

  for (let row of rows) {
    console.log("row: ", row);
    for (let value of row.values) {
      console.log("value: ", value);
      for (let newValue of value.values) {
        console.log("newValue: ", newValue);

      }
    }
  }

但我没有到达 newValue 对象:

enter image description here

我对这个结构有什么不明白的地方?它看起来像 3 个嵌套数组。

最佳答案

问题是,当您达到这一点时:for (let value of row.values)value确实是一个数组。因此不需要执行 value.values

这段代码应该可以正常工作:

for (let row of rows) {
    console.log("row: ", row);
    for (let valueArr of row.values) {
      console.log("value: ", valueArr);
      for (let newValue of valueArr) {
        console.log("newValue: ", newValue);

      }
    }
  }

希望对你有帮助!

关于javascript - 对 3 个嵌套数组感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823932/

相关文章:

Javascript 确认,捕获用户选择

c - 我无法删除字符串中的空格

java - Android App 中的 NullPointerException

java - 使用 for 循环在字符串数组中打印索引号和该索引中的字符

javascript - 如何使用模拟 Firebase 进行 Angular 2 TypeScript 单元测试?

Angular 动态模板渲染,如 ui 网格单元格模板(在 parent 的 colDefs 中声明的模板)

javascript - Jasmine 测试随机失败

javascript - 如何在页面加载时初始化反向地理编码?

javascript - 折叠 JSON 字符串以在 header 变量中发送 - Mailgun

javascript - "Enter" key 的默认提交按钮