有谁知道一种在不使用indexOf的情况下检查列表是否包含字符串的方法?在我的数组中,某些字符串可以包含其他字符串的一部分,因此 indexOf 会产生误报。
例如,我如何确定“组件”是否在下面的数组中?
["component.part", "random-component", "prefix-component-name", "component"]
更新:
我对误报的使用似乎具有误导性。我的意思是,当我想单独匹配字符串时,它会说该组件在那里出现了 4 次。
即。当检查下面的数组中是否存在“组件”时,它应该返回 false。
["component.part", "random-component", "prefix-component-name"]
最佳答案
使用Array.find
API。
示例:
"use strict";
let items = ["component.part", "random-component", "prefix-component-name", "component"];
let found = items.find(item => { return item === "component.part" } );
if (found) {
console.log("Item exists.");
}
更多使用示例。
参见: https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/find
关于Javascript 列表包含一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38821177/