在二维数组中访问数据问题

Access data issue in 2D array

本文关键字:数据 问题 访问 二维数组      更新时间:2023-09-26

我正在使用一个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。在语法中还有额外的[ ]。要访问2D数组,您可以编写如下代码array[1][0]但是你得到的是array[[1][0]]这是错的

更改语法以指向索引1并删除额外的大括号

list_elm[list_elm.length - 1][1] += 1;

var getNum = list_elm[list_elm.length - 1][1];

您必须实际从字符串中获取数字字符。在字符串上直接执行ParseInt会得到NAN,因为第一个字符不能转换为数字。

如果您的值为' 1occurs ',则可以避免第二步。在这种情况下,您可以直接将其解析为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);