繁体   English   中英

'includes()' 用于字符串,而不用于 Javascript 中的数组?

[英]'includes()' is for string, not for array in Javascript?

来自: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object

Object.keys()
返回一个数组,其中包含所有给定对象自己的可枚举字符串属性的名称。

这表示“包含”适用于字符串: https://www.w3schools.com/jsref/jsref_includes.asp

那么为什么以下语句在此 SO 线程中显示的代码中有效?
https://stackoverflow.com/a/66758849/462608

const colorValues = Object.keys(this.colorValues);
const invalidColors = colors.filter(c => !colorValues.includes(c));

它存在于两个原型中: String.prototype.includesArray.prototype.includes

String.prototype.includes检查字符串是否包含传递的 substring。

Array.prototype.includes检查数组是否包含特定值(使用 SameValueZero 算法)。

有点令人困惑的是,它们使用完全相同的名称,但使用的逻辑相似。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM