gpt4 book ai didi

javascript - JSON 获取键/值 : if non-existing, JS 停止。如何解决设置数组的问题?

转载 作者:行者123 更新时间:2023-12-02 19:01:09 24 4
gpt4 key购买 nike

给定 localStorage 中的一个大型 JSON 表和用户提供的给定键,我可以访问关联的值。但如果值和/或键不存在,那么我想创建它们。然而...

给定以下 JSON:

var data = [ 
{ 'myKey': 'A', 'status': 0 },
{ 'myKey': 'B', 'status': 1 },
{ 'myKey': 'C' },
{ 'myKey': 'D', 'status': 1 }
];

以及以下 JS:

function getJsonVal(json, itemId) {
for (var i in json) {
if (json[i].myKey == itemId) {
return json[i];
}
}
}

如果我...

// request non-existing-in-JSON value:
valC = getJsonVal(data, 'C');
alert("this is C's value: "+ valC)

// request non-existing-in-JSON key:
keyE = getJsonVal(data, 'E');
alert("this is E: "+ keyE);

脚本中途停止。

我希望有一些错误值,允许我做出类似 If ( null|| undefined ) then create new key/value 的东西,但我的脚本只是停止,因为这些项目是不存在。有解决办法吗? Jsfiddle 很欣赏。

最佳答案

使用 typeof 运算符,您可以安全地检查属性是否已设置

function getJsonVal(json, itemId) {
for (var i in json) {
if (typeof json[i].myKey != 'undefined' && json[i].myKey == itemId) {
return json[i];
}
}
return 'someDefault';
}

关于javascript - JSON 获取键/值 : if non-existing, JS 停止。如何解决设置数组的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783164/

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