javascript - 我可以创建一个引用对象中节点的变量吗?

标签 javascript

我有这段代码。如果未定义,它会增加数组中的值或将其设置为 1:

if(typeof sum[period][count] === "undefined"){
    sum[period][count] = 1
}else{
    sum[period][count]++;
}

我想像这样让它更短、更少重复:

node = sum[period][count];
if(typeof node === "undefined"){
    node = 1
}else{
    node++;
}

甚至

node = typeof node === "undefined"? 1 : node+1;

但它不起作用,为什么不起作用,我能做些什么呢?

最佳答案

由于值 sum[period][count] 是原始值,您无法获得对它的引用。您可以通过将包含此值的对象分配给变量来缩短它:var node = sum[period] 并测试 node[count]。但是,它并没有短很多:

var node = sum[period];
if(typeof node[count] === "undefined"){
    node[count] = 1
}else{
    node[count]++;
}

关于javascript - 我可以创建一个引用对象中节点的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720587/

相关文章:

javascript - 如何使用react js显示表格

javascript - ES6 导入并要求无法与 gulp/browserify/babelify 正常工作

javascript - 通过ajax formData发送图像文件到php

javascript - 我需要加载 JQuery 才能完成这项工作吗?

javascript - moment.js 正在更改时区的输入时间,而它本来就应该是该时区

javascript - 多个下拉菜单按钮 - 仅打开单击的按钮

javascript - 扩展 js 原型(prototype),参数被强制类型转换

javascript - Polymer 2.0 调用函数

javascript - 单击 html 表格内的按钮时如何调用 javascript 函数?

javascript - 我如何在 javascript 或 jquery 中按维度对图像进行排序