javascript - 我怎样才能使数组的“字符串”为真
问题描述
可以说我有
const all = ['all', 1, 1, 2]
if('all' == all)
return all
我怎样才能使这个 if 语句为真。
解决方案
假设您无法修改现有代码,但仍希望表达式 be true
。
当数组需要转换为基元时(与基元、数学运算等进行比较时),您可以覆盖 的[Symbol.toPrimitive]
函数以更改默认行为Array.prototype
Array.prototype[Symbol.toPrimitive] = function() {
return this[0];
}
const all = ['all', 1, 1, 2];
console.log('all' == all);
但是……你为什么要这样做?
推荐阅读
- angular - 从 Angular 到 Spring 的多部分发布请求
- python - Python Twisted/Reactor 无法将消息发送到服务器/客户端
- python - 如何计算熊猫系列中列表的元素
- django - Letsencrypt 登台和生产服务器上的 SSL 证书
- regex - 正则表达式禁止撇号和连字符之前或之后的任何空格
- homebrew - 当存在相同版本的两个副本时,我应该如何覆盖/替换 nmap?
- ruby-on-rails - 为什么 ActiveSupport 核心扩展没有作为模块添加?
- python - 在没有 PIL 的 Python 中使用 tkinter 保存图像
- lean - 是否有解决此类琐碎目标的策略(精益定理证明)?
- javascript - MySQL的两个日期之间的进度条