Javascript—读取JSON属性的值,如果该键不存在,则在一行中返回null
让我用python来比喻我正在寻找的东西:Javascript—读取JSON属性的值,如果该键不存在,则在一行中返回null,javascript,python,json,Javascript,Python,Json,让我用python来比喻我正在寻找的东西: fruits_dict = {"banana": 4, "apple": 3} num_apples = fruits_dict.get("apple", None) num_oranges = fruits_dict.get("orange", None) print(num_apples, num_oranges) 印刷品: 3无 现在在Javascript中,使用类似的JS对象,我们可以在if块中使用hasOwnPropertykey 给出:
fruits_dict = {"banana": 4, "apple": 3}
num_apples = fruits_dict.get("apple", None)
num_oranges = fruits_dict.get("orange", None)
print(num_apples, num_oranges)
印刷品:
3无
现在在Javascript中,使用类似的JS对象,我们可以在if块中使用hasOwnPropertykey
给出:
3空
有更好的办法吗?python的get函数行中有些东西?您的代码确实没有问题,但编写起来会稍微简洁一些
num_oranges = ("orange" in fruits_obj) && fruits_obj.orange || null;
这也会在对象的原型链中找到一个名为orange的属性,如果这不重要的话。另外,请注意
num_oranges = fruits_obj.orange;
如果没有oranges属性,则会将undefined赋值给num_oranges,并且出于许多实际目的,undefined和null是可互换的。例如,undefined==null为true。您的代码实际上没有什么问题,但编写起来会稍微简洁一些
num_oranges = ("orange" in fruits_obj) && fruits_obj.orange || null;
这也会在对象的原型链中找到一个名为orange的属性,如果这不重要的话。另外,请注意
num_oranges = fruits_obj.orange;
如果没有oranges属性,则会将undefined赋值给num_oranges,并且出于许多实际目的,undefined和null是可互换的。例如,undefined==null为true。您可以在原型对象中实现动态get
get: function(key) {
if (typeof this[key] == 'undefined') return null;
return this[key]
}
您可以在原型对象中实现动态get
get: function(key) {
if (typeof this[key] == 'undefined') return null;
return this[key]
}
如果要从函数返回它,可以在单行中使用三元:
return fruits_obj.hasOwnProperty("orange") ? fruits_obj['orange'] : null;
如果要从函数返回它,可以在单行中使用三元:
return fruits_obj.hasOwnProperty("orange") ? fruits_obj['orange'] : null;
您正在寻找一个:
如果您想创建一个类似python get的函数,它可以是如下所示:
var getProp = function(object, key, default){
return object.hasOwnProperty(key) ? object[key] : default;
};
var num_oranges = getProp(fruits_obj, "orange", null);
您正在寻找一个:
如果您想创建一个类似python get的函数,它可以是如下所示:
var getProp = function(object, key, default){
return object.hasOwnProperty(key) ? object[key] : default;
};
var num_oranges = getProp(fruits_obj, "orange", null);
我们可以使用JavaScript
此运算符用作if语句的快捷方式
语法:
如果条件为true,则运算符返回expr1的值;否则,它将返回expr2的值
我们可以使用JavaScript
此运算符用作if语句的快捷方式
语法:
如果条件为true,则运算符返回expr1的值;否则,它将返回expr2的值
哇!美好的点符号看起来很棒,我想我会用它。在询问之前应该测试一下。谢谢哇!美好的点符号看起来很棒,我想我会用它。在询问之前应该测试一下。谢谢确切地这就是我要找的。另外,@Pointy告诉我们返回未定义的点符号也是一个很好的建议。谢谢确切地这就是我要找的。另外,@Pointy告诉我们返回未定义的点符号也是一个很好的建议。谢谢嘿,@Razzildinho已经给出了这个答案。无论如何,谢谢。嘿,这个答案已经由@Razzildinho给出了。无论如何,谢谢你。