gpt4 book ai didi

javascript - 通过 json 中的键访问值会抛出 undefined

转载 作者:太空宇宙 更新时间:2023-11-04 01:47:42 25 4
gpt4 key购买 nike

你好,我面临一个奇怪的错误,我有一个下面的对象

    let dataFromUrl =  {
"careerTrackId": 510,
"country": [],
"geography": [18],
"ou2": [51549564],
"ou3": [],
"ou4": [],
"ou5": [],
"ou6": [],
"ou7": [],
"ou8": [],
"region": []
}

console.log(dataFromUrl.geography.length);


// Here in this method iam using this dataFromUrl



function getGeoUnitId(dataFromUrl) {
console.log("dataFromUrl",dataFromUrl);
console.log("dataFromUrl.geography",dataFromUrl.geography);
console.log("dataFromUrl.ou2",dataFromUrl.ou2);
console.log("dataFromUrl.careerTrackId",dataFromUrl.careerTrackId);
let geoUnitId = "(" + dataFromUrl.geography + ")";
let str2 = "geounitid IN " + geoUnitId;
if (dataFromUrl.geography.length == 0) {
str2 = "";
}
return str2;
}

但是当我尝试在我的 nodejs 代码中使用 dataFromUrl.geography.length 时,出现以下错误:

[ 'TypeError: Cannot read property 'length' of undefined']

当我的目标是 es5 时,这段代码正在运行,但一旦我将目标更改为 es6,它就开始崩溃。有谁知道为什么会突然发生这种情况吗?

最佳答案

查看完评论后,我可能的猜测是您正在调用不带参数的 getGeoUnitId() ,并且它使用的是您可能已更改的外部定义的 getGeoUnitId

尝试重命名参数变量名称

function getGeoUnitId(somethingOtherThan_dataFromUrl) {

提示:如果您在理解 JS 代码时遇到问题,您应该使用 Chrome(或任何其他浏览器)的开发人员工具并添加调试器来查看代码流程、变量如何赋值、更新位置等等...

关于javascript - 通过 json 中的键访问值会抛出 undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50846554/

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