javascript - JS 数组 - 高级赋值

标签 javascript

<分区>

这与我试图在复杂逻辑中使用的 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 个位置分配一个新 Angular 色。

当我尝试 a[a1][3] = 'Y'a.a1[3] = 'Y' 然后尝试 console. log(a.a1),它仍然显示 AJA 而不是 AJAY

我知道我们可以使用字符串连接来做到这一点,即 a['a1'] = a['a1'] + 'Y' 并完成此操作。

但为什么第一种方法不起作用?还有什么方法可以做到这一点?

最佳答案

字符串是不可变的。这意味着如果你创建了一个字符串,你就不能再修改它了。所以你的 a1 对第 4 个字符一无所知。

你可以看到这个例子。我尝试更改已创建字符串的第二个字符,但它不会再更改。

let a  = {};
a['a1'] = 'AJA';

a.a1[1] = 'A';

console.log(a.a1);

更多可以看 MDN Documentation

关于javascript - JS 数组 - 高级赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41585559/

相关文章:

Javascript - 正则表达式 - 全局搜索问题

javascript - jQuery 将参数传递到 ajax 成功的函数调用中

php - 如何持续更新页面的一部分

javascript - 从 Firebase 云数据库获取数据并使用加载更多按钮(分页)Javascript 显示它们

javascript - 根据鼠标位置使用 Javascript 设置 CSS 'top' 属性

javascript - 使用 setInterval 错误更新innerHTML

javascript - 如何根据每次迭代更改for循环中的图像

JavaScript 适用于 Chrome,但不适用于 IE

javascript - 如何在上传pdf文件时在浏览器中显示pdf文件

javascript - 使用 ajax 到 jsp 将复选框值传递到数组中