如果对象 属性 存在则加 1,如果不存在则创建并设置为 1 (javascript)
Add 1 to object property if it exists, create and set it to 1 if it doesn't (javascript)
所以我有以下代码,它正在执行我想要的操作,但我只是想知道是否有更好的方法来执行此操作。就是感觉笨重
object.hasOwnProperty(property) ? object[property]++ : object[property] = 1
你可以这样做:
obj.prop = obj.prop + 1 || 1
这与您的原始代码一样工作,但使用 OR 语句,它将采用第一个为真的选项。由于对象可能没有 属性,它将 return 'NaN' 然后继续将 属性 设置为 1,因为这是 OR 语句的另一端。
为了避免这种情况:
obj.prop = (obj.prop && obj.prop + 1) || 1
所以我有以下代码,它正在执行我想要的操作,但我只是想知道是否有更好的方法来执行此操作。就是感觉笨重
object.hasOwnProperty(property) ? object[property]++ : object[property] = 1
你可以这样做:
obj.prop = obj.prop + 1 || 1
这与您的原始代码一样工作,但使用 OR 语句,它将采用第一个为真的选项。由于对象可能没有 属性,它将 return 'NaN' 然后继续将 属性 设置为 1,因为这是 OR 语句的另一端。
为了避免这种情况:
obj.prop = (obj.prop && obj.prop + 1) || 1