【发布时间】:2017-05-25 22:19:19
【问题描述】:
这与 Javascript 中的数组有关,我试图在复杂的逻辑中使用它。
考虑以下代码:
a['a1'] = 'AJA'
我们知道,这与a.a1 = 'AJA' 相同(只要给出了正确的定义)。
所以,如果我们继续解释这个:
console.log(a.a1[0])
console.log(a.a1[1])
console.log(a.a1[2])
console.log(a.a1)
它记录:
A
J
A
AJA
现在,我只需要在第 4 个位置分配一个新角色。
当我尝试a[a1][3] = 'Y' 或a.a1[3] = 'Y' 然后尝试console.log(a.a1) 时,它仍然显示AJA 而不是AJAY。
我知道我们可以使用字符串连接来做到这一点,即
a['a1'] = a['a1'] + 'Y' 并完成此任务。
但为什么第一种方法不起作用?还有什么其他方法可以做到这一点?
【问题讨论】:
-
请不要使用带有自定义属性的数组,顺便说一句,这不是数组问题,而是字符串问题。
-
如果你想实现这种行为,你需要将字符串声明为一个字符数组。
var str = "AJA"; --> var strArr = ["A","J","A"];,当您完成对字符数组的编辑后,您需要将其转换回字符串。 -
var str = "AJA"; var strArr = str.split(''); strArr[3] = "Y"; str = strArr.join(''); -
@LearnHowToBeTransparent 这可能适用于一个简单的数组。但不是在这里..
标签: javascript