gpt4 book ai didi

javascript - 如果已定义或分配给它,则用于添加到变量的速记/函数?

转载 作者:行者123 更新时间:2023-11-30 11:23:25 25 4
gpt4 key购买 nike

是否有用于编写以下内容的速记或函数?

x  = x? x+1 : 1

最近我发现自己需要经常检查一些嵌套对象的属性是否已经定义,如果有,就增加它,这使得上面的行很长。像这样的东西:

object1[atttribute1][atttribute2][atttribute3] = object1[atttribute1][atttribute2][atttribute3]? object1[atttribute1][atttribute2][atttribute3]+1:1;

我想知道是否有一些内置函数可以做到这一点?沿着:

x = performActionIfExistsOrAssignDefault(x, add1, 1)
function add1(x){
return x+1;
}

最佳答案

没有为此内置魔法(尽管您可以自己创建一个函数),但是有一种更短的编写方法:

x = (x || 0) + 1

这也可以像您的第二个示例一样转换为数组

object1 = (object1 || [])
object1[attr1] = (object1[attr1] || [])

如果您不知道属性的存在,此方法也可用于访问深度嵌套的对象:

var something = (((obj || {}).prop1) || {}).prop2 || {}).prop3;

关于javascript - 如果已定义或分配给它,则用于添加到变量的速记/函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48935992/

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