gpt4 book ai didi

javascript - 对象到数组返回未定义

转载 作者:行者123 更新时间:2023-12-03 01:42:13 25 4
gpt4 key购买 nike

我试图将 JS 对象转换为数组,但转换后的数组未定义。

我最初有 JSON,但从我读到的内容来看,它会自动解析为 JS 对象(当我尝试解析它时,我得到 SyntaxError: Unexpected token o in JSON atposition 1)。另外,当我 console.log(typeof cityList) 时,我得到了 Object。

初始 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() 方法。

关于javascript - 对象到数组返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50787605/

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