为什么将整数与长度为 1 的数组进行比较会返回 true,而与长度为 2 或更大的数组进行比较会返回 false?

2023-12-26

为什么将 0 与长度为 1 的数组进行比较会返回 true,而对于长度为 2 或更大的数组则返回 false? 例如,

var a=[]  //undefined
0<a  //returns false
a.push(1) // [1]
0<a // returns true
a.push(2) // [1, 2]
0<a // return false
a.push(3) // [1, 2, 3]
0<a // return false

基本上你首先会得到隐式类型转换toString https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString#Description,

The Array https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array对象覆盖toString的方法Object https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object。对于 Array 对象,toString 方法连接数组并返回一个字符串,其中包含以逗号分隔的每个数组元素。

JavaScript 调用toString当要将数组表示为文本值或在字符串连接中引用数组时,会自动调用此方法。

like join有效,然后将其转换为数字。

what you do   what you get  result  array        string      number
------------  ------------  ------  ---------    --------    ----------
var a = [];
0 < a         0 < 0         false   []        -> ''       -> 0
a.push(1);
0 < a         0 < 1         true    [1]       -> '1'      -> 1
a.push(2);
0 < a         0 < NaN       false   [1, 2]    -> '1,2'    -> NaN
a.push(3);
0 < a         0 < NaN       false   [1, 2, 3] -> '1,2,3'  -> NaN
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么将整数与长度为 1 的数组进行比较会返回 true,而与长度为 2 或更大的数组进行比较会返回 false? 的相关文章

随机推荐

  • 导入 javax.validation.constraints.NotEmpty;不工作[重复]

    这个问题在这里已经有答案了 我目前有一个 java spring boot 应用程序 我将版本 在代码中 从 2 1 4 更改为 2 3 0 但结果我遇到了错误error package javax validation constrain
  • android服务导出属性?

    我对android平台还很陌生 我想导出我的服务以供公众使用 我在开发人员文档中找到了一些内容 android exported其他应用程序的组件是否可以调用该服务或与其交互 如果可以 则为 true 如果不能 则为 false 当值为 f
  • 为闪亮仪表板中的滑块添加不同的静态颜色

    我是闪亮的新手 我想为滑块提供静态颜色 无论闪亮仪表板中选择的范围如何 我想要滑块有不同的颜色 如下所示 例如 0 到 40 红色 40 到 60 蓝色 60 到 100 绿色 请帮我解决这个问题 我的代码 library shiny li
  • 为什么更喜欢模板方法而不是依赖注入?

    我一直在阅读 Gamma 等人写的 设计模式 我有一个关于模板方法与依赖注入相比的问题 使用模板方法 您可以使用为所需操作或计算提供替代方案的策略来 模板化 类 因此 您不需要从多种替代方案中选择一种策略并将该策略编码到类中 而是允许类的用
  • 使用 Launch4j VM 参数路径包装的 JavaFX 项目

    对于我的一些项目 我使用 JavaFX 作为 GUI 在 JavaFX 被拆分为 OpenJFX 之前 我没有遇到任何问题 现在我想使用最新版本的 JDK 和 JavaFX 因此必须进行一些更改 在 Eclipse 中工作时 一切都按预期运
  • 使用 main() 函数进行递归[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在编写一个程序来使用递归计算阶乘
  • 将图像上传到 codeigniter 中的 MySQL 数据库 blob

    我想将图像上传到mysql数据库以存储许多信息 我已附上 3 MVC 代码供您参考 请帮助我 ref http forum codeigniter com thread 1205 html http forum codeigniter co
  • 子进程返回码中的Python“return not”语句

    我刚刚在Python中遇到了一行非常奇怪的代码 self myReturnCode externalProcessPopen returncode return not self myReturnCode 究竟是什么return not代表
  • 当有新更新可用时,Angular 4 PWA Service Worker 不会更新

    在我更新 Angular 4 PWA 应用程序并部署后 用户无法获得新的更新 直到用户清除缓存并刷新浏览器 Sw不更新 即使我按下 crome Dev 中的更新按钮 它也不会更新 我必须清除缓存并刷新浏览器 我用过这些包 Angular s
  • Discord 机器人:修复“找不到 FFMPEG”

    我想让我的 Discord 机器人加入语音聊天 但每次我这样做时 我都会在 log cmd 中收到错误消息 FFMPEG not found 请帮我 错误图片 这是代码 client on message message gt Voice
  • pymysql无法连接mysql

    我正在尝试使用 pymsql 连接到 MySQL 数据库 主机是 115 28 236 225 并使用默认端口 3306 代码如下 db connect py import pymysql def connDB conn pymysql c
  • jQuery悬停不适用于动态元素

    我从数据库中获取数据 并根据匹配的数量 我想输出 div img src images account related icons link delete png div 我希望该图像在悬停时发生变化 所以我使用以下代码 link dele
  • 空终止字符串的基本原理是什么?

    尽管我非常喜欢 C 和 C 但我还是忍不住对空终止字符串的选择感到摸不着头脑 长度前缀 即 Pascal 字符串在 C 之前就已存在 长度前缀字符串通过允许恒定时间长度查找使多种算法更快 带长度前缀的字符串更难以导致缓冲区溢出错误 即使在
  • Keycloak授权:向域对象或实体添加角色

    我是 Keycloak 框架的新手 在痛苦地编写了自己的解决方案之后 我们希望转换为 KeyCloak 这似乎是一个很有前途的解决方案 但不幸的是缺乏自我描述文档 我已经阅读了教程和术语 但是 我似乎无法通过 Keycloak 概念为我的授
  • R绘图隐式函数外部命令

    我想绘制 x 和 y 的隐式函数 1 0 125 y 2 x 2 0 005我知道它可以绘制为等值线图 但使用 外部 命令时遇到问题 在下面的 x lt seq 0 4 1 01 length 1000 y lt seq 0 3 lengt
  • 是否可以在 ASP.NET MVC FilterAttribute 上使用依赖注入/IoC?

    我有一个简单的习惯FilterAttribute我用它来装饰各种ActionMethods eg AcceptVerbs HttpVerbs Get MyCustomFilter public ActionResult Bar 现在 我希望
  • 为什么 TaskFactory.StartNew 收到 CancellationToken [重复]

    这个问题在这里已经有答案了 可能的重复 任务构造函数中的取消标记 为什么 https stackoverflow com questions 3712939 cancellation token in task constructor wh
  • 如何在 Windows 7 上安装幽灵

    有谁知道 也许是所有相关步骤 如何在 Windows 7 上运行 安装 Wraith 文档 http bbc news github io wraith index html 安装 http bbc news github io wrait
  • 从图像中裁剪椭圆

    我想从图像中提取椭圆区域 图像中面部部分的一部分 最好在 MATLAB 中 例如 在此图像中 我想提取红色边界内的区域 谁能帮我这个 裁剪很容易 您所要做的就是应用适当的蒙版 诀窍是创建这样一个蒙版 假设A是你的图像 试试这个 Create
  • 为什么将整数与长度为 1 的数组进行比较会返回 true,而与长度为 2 或更大的数组进行比较会返回 false?

    为什么将 0 与长度为 1 的数组进行比较会返回 true 而对于长度为 2 或更大的数组则返回 false 例如 var a undefined 0 a a returns false a push 1 1 0 a a returns t