【问题标题】:Numeric vs String array lookups [duplicate]数字与字符串数组查找[重复]
【发布时间】:2021-12-03 06:24:12
【问题描述】:

使用整数和字符串进行数组访问等有区别吗?例如:

let b = [,,2,,];
b[100]= 'asdf'
console.log(0 in b, 1 in b, '2' in b, 2 in b);
// false false true true

它在我看来是一样的,所以对于 in 运算符,左操作数可能会转换为字符串作为表达式评估的一部分?

【问题讨论】:

  • 来自documentation... "prop - 表示属性名称或数组索引的字符串或符号(非符号将被强制转换为字符串) ".
  • 这篇文章也与数组和in 运算符高度相关。 Why is using "for...in" for array iteration a bad idea?
  • 鉴于您在此问题前 20 分钟提出的问题也可以通过单个 MDN 链接回答,也许您应该首先开始检查 MDN?

标签: javascript


【解决方案1】:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/in

对象中的道具

prop:字符串或符号,表示属性名称或数组索引(非符号将被强制转换为字符串)

所以是的,它被转换为字符串。请注意您如何做到arr[2]arr['2'],它们是平等的。 Object.keys([2, 5, 7, 1]) 返回[ '0', '1', '2', '3' ]。都是字符串!啊!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-01
    • 2016-07-08
    • 2018-01-21
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多