我正在使用2D数组来跟踪值的出现,但我在操纵第二维值时遇到问题。我的语法肯定是关闭的,因为我在2D中存储了一个整数,但是无法获得可操作的整数。
var list_elm = [occur1, 0], [occur2, 0] ...;
//stuff that checks for instances
var getNum = list_elm[[list_elm.length - 1][0]]; //last array item's second part
list_elm[[list_elm.length - 1][0]] += 1; //this version produces a string "01111..."
list_elm[[list_elm.length - 1][0]] = getNum++; //this produces NaN
我正在尝试增加: list_elm [...] [这一个] 。
答案 0 :(得分:1)
您正在访问 0 索引,这是一个字符串..您需要访问索引1 。此外,您在语法中还有额外的namespace:base
。要访问2D数组,您可以编写类似的内容
tapply
但您所拥有的是[ ]
哪个错误
将语法更改为指向索引1并删除多余的大括号
array[1][0]
array[[1][0]]
答案 1 :(得分:0)
您必须从字符串中获取数字字符。直接在你的字符串上做ParseInt会给你NAN,因为第一个字符不能转换为数字。
如果你的价值是“oc”,你可以避免第二步。在这种情况下,您可以直接将其解析为int。
var list_elm = [['occur1', 0], ['occur1', 0]];
var elm = list_elm[list_elm.length-1][0]; // get the string 'occur1'
elm = parseInt(elm.substr(elm.length-1)); // get 1 from 'occur1' and covert it to integer.
elm++;
console.log(elm);