解决
我认为这将是一项简单的任务,但我似乎无法弄清楚如何在JavaScript中正确访问2D数组的元素。
通过从对象获取键和值来创建数组:
uassPairs.push(value);
uassPairs[uassPairs.indexOf(value)][1] = key;
^在$.each
循环内发生。
假设在uassPairs[0][0]
我存储了字符串"foo"
。如果我运行alert(uassPairs[0]);
,则会在屏幕上显示foo
。
但是,如果我尝试通过"foo"
访问uassPairs[0][0]
,则只显示字符串的第一个字符:f
。
此外,尝试访问uassPairs[i][1]
(其中i
是某个索引),我再次只收到该字符串的第一个字母 - 澄清,存储在索引1列中的字符串。 arr[i][j]
格式是我在这里看到大多数人处理数组的方式。
如何访问整个字符串,而不只是单个字符?
谢谢。
编辑:感谢dandavis,正确的语法是arr[0, 0]
,而不是arr[0][0]
。欢呼声。
答案 0 :(得分:0)
显然
uassPairs[uassPairs.indexOf(value)]
再次返回value
。因此,如果value
是一个字符串,那么像[1]
这样的另一个索引访问将返回指定位置的字符。
奇怪的是,看起来好像你被允许为这个位置分配一些东西。但是,没有赋值,因此读取访问权限再次返回该字符。