javascript - JavaScript 中的数组有键属性吗?
问题描述
我在 JavaScript 中磕磕绊绊,想知道为什么我的测试仍然有效,尽管我将常量从对象更改为变量。
我知道对象属性可以通过键值访问,例如
const object = {};
object['keyValue'] = 'property';
// creates this object
{ keyValue: 'property' };
我认为这仅适用于对象,但是,我不小心执行了以下代码:
const array = [];
array['maybeKeyValue'] = { keyValue: 'property'};
// this created the following array
[ship: {keyValue: 'property'}]
// i can also access the object in the array
const obj = array['ship'];
// returns the created object
我还注意到array.length
is 0 并且array.entries()
不会创建有效的迭代器,这对我来说很奇怪。这里发生了什么?这是在对象中存储具有值的键的有效替代方法吗?
解决方案
推荐阅读
- css - 如何在焦点上添加轮廓到材质按钮
- android - 不同用户内部测试、beta 用户的应用更新对话框
- json - JSON 响应来了,但是在使用按钮操作将其添加到单元格时,为什么会出现 nil 呢?迅速
- python - 删除稀疏矩阵的行和列
- python - 检查输入时出错:预期 input_1 有 5 个维度,但得到了形状为 (740、19、163、279) 的数组
- git - 我在 Github 上托管了我的网站,但我遇到了这个问题“在此地址配置的站点不包含请求的文件。”
- laravel - Laravel Sanctum 未使用邮递员进行身份验证
- postgresql - 使用 powershell 和任务调度程序的 Postgresql 自动备份
- iis - 在 IIS 中禁用目录浏览,但在“日志”文件夹中披露了应用程序日志文件
- reactjs - 我可以在移动环境中使用 React Redux 吗?