使用单个整数数组访问另一个数组中的项目时会发生什么

技术专家2000

我有点惊讶这有效:http : //jsfiddle.net/7yfpc1nL/3/

const arr = ['a', 'b'];
const r = arr[[
  [0]
]];
console.log(r);

JavaScript 会在这里将 [[0]] 强制为 0 吗?这里正在发生什么魔法?

麦瑞斯

是的,当使用[]运算符访问对象的属性时,JavaScript 会将参数强制转换为字符串,而 的字符串形式[[0]]只是0,因此这是访问第零个元素的一种迂回方式。

为了显示:

const arr = ['a', 'b']
const idx = String([[0]]) // => "0"
arr[idx] // => "a"

我们可以验证参数的字符串形式是否如此使用:

const obj = {
  toString: function() {
    console.log('OK: called obj.toString()')
    return 1
  }
}
arr[obj] // => "b"
// OK: called obj.toString()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

来自分类Dev

当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

来自分类Dev

当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

来自分类Dev

将数组作为另一个数组中的单个项目传递

来自分类Dev

使用另一个(现有)对象创建新对象时会发生什么?

来自分类Dev

如何使用另一个数组中的项目过滤打字稿数组

来自分类Dev

如何循环一个整数数组并将正负都保存到另一个数组中?

来自分类Dev

如何使用PHP将单个数组项推入另一个数组?

来自分类Dev

给整数数组赋值将更改另一个整数数组

来自分类Dev

根据另一个整数数组对整数数组进行排序

来自分类Dev

使用从另一个数组派生的项目创建一个新数组

来自分类Dev

当ISR运行并且发生另一个中断时会发生什么?

来自分类Dev

如何从数组中删除与另一个数组中的项目相等的项目?

来自分类Dev

删除一个数组中的项目,该项目在另一个数组中成角度?

来自分类Dev

jq-使用单个命令从另一个数组减去一个数组

来自分类Dev

javascript:将项目从一个数组中取出并放入另一个数组中

来自分类Dev

在另一个数组中对一个数组中的项目进行计数

来自分类Dev

删除数组中另一个数组中的项目

来自分类Dev

使用Typescript从数组json中删除未在另一个数组中列出的对象(项目)

来自分类Dev

如何仅使用键盘将值从一个整数数组复制到另一个整数数组?

来自分类Dev

如何在 JavaScript 中将一个数组添加为另一个数组中的项目

来自分类Dev

当我将null转换为另一个类时会发生什么

来自分类Dev

将“ yes”传递给另一个命令时会发生什么?

来自分类Dev

使用另一个数组中的值返回一个数组中的数组

来自分类Dev

使用一个数组值访问另一个数组元素Matlab

来自分类Dev

如何搜索对象数组包含另一个数组中的项目?

来自分类Dev

创建另一个数组中项目之间差异的数组

来自分类Dev

如何根据另一个数组中的项目过滤数组?

来自分类Dev

如何基于存储在另一个数组中的索引获取数组的项目

Related 相关文章

  1. 1

    当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

  2. 2

    当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

  3. 3

    当顺序迭代数组1并为每个元素1随机访问另一个数组2时,cpu缓存中会发生什么?

  4. 4

    将数组作为另一个数组中的单个项目传递

  5. 5

    使用另一个(现有)对象创建新对象时会发生什么?

  6. 6

    如何使用另一个数组中的项目过滤打字稿数组

  7. 7

    如何循环一个整数数组并将正负都保存到另一个数组中?

  8. 8

    如何使用PHP将单个数组项推入另一个数组?

  9. 9

    给整数数组赋值将更改另一个整数数组

  10. 10

    根据另一个整数数组对整数数组进行排序

  11. 11

    使用从另一个数组派生的项目创建一个新数组

  12. 12

    当ISR运行并且发生另一个中断时会发生什么?

  13. 13

    如何从数组中删除与另一个数组中的项目相等的项目?

  14. 14

    删除一个数组中的项目,该项目在另一个数组中成角度?

  15. 15

    jq-使用单个命令从另一个数组减去一个数组

  16. 16

    javascript:将项目从一个数组中取出并放入另一个数组中

  17. 17

    在另一个数组中对一个数组中的项目进行计数

  18. 18

    删除数组中另一个数组中的项目

  19. 19

    使用Typescript从数组json中删除未在另一个数组中列出的对象(项目)

  20. 20

    如何仅使用键盘将值从一个整数数组复制到另一个整数数组?

  21. 21

    如何在 JavaScript 中将一个数组添加为另一个数组中的项目

  22. 22

    当我将null转换为另一个类时会发生什么

  23. 23

    将“ yes”传递给另一个命令时会发生什么?

  24. 24

    使用另一个数组中的值返回一个数组中的数组

  25. 25

    使用一个数组值访问另一个数组元素Matlab

  26. 26

    如何搜索对象数组包含另一个数组中的项目?

  27. 27

    创建另一个数组中项目之间差异的数组

  28. 28

    如何根据另一个数组中的项目过滤数组?

  29. 29

    如何基于存储在另一个数组中的索引获取数组的项目

热门标签

归档