簡體   English   中英

數組對象返回未定義

[英]Object to Array returns undefined

我試圖將JS對象轉換為數組,但轉換后的數組未定義。

我最初有JSON,但是根據我的閱讀,它會自動解析為JS Object(當我嘗試解析它時,我會在位置1的JSON中收到SyntaxError:Unexpected token o)。 另外,當我console.log(typeof cityList)我得到對象。

初始JSON如下所示:

    [
  {
    "id": 707860,
    "name": "Hurzuf",
    "country": "UA",
    "coord": {
      "lon": 34.283333,
      "lat": 44.549999
    }
  },
  {
    "id": 519188,
    "name": "Novinki",
    "country": "RU",
    "coord": {
      "lon": 37.666668,
      "lat": 55.683334
    }
  }
    ]

我像這樣導入JSON: import cityList from './city.list.json';

我使用以下代碼進行轉換:

const cityListArray = Object.values(cityList);

如果我console.log(cityListArray)我不確定。

我也嘗試過: const cityListArray = Object.keys(cityList).map(i => cityList[i])但結果是相同的。

我不確定問題出在哪里。 任何幫助,將不勝感激!

您不需要轉換任何內容,因為JSON對象已經是一個數組。

您不應該檢查某物是否為typeof數組,因為它會為數組返回"object"

const a = [];
typeof a; // "object"

您應該改用Array.isArray()方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM