gpt4 book ai didi

javascript - 多个元素的 indexOf() 方法的替代方法

转载 作者:行者123 更新时间:2023-11-30 20:13:33 31 4
gpt4 key购买 nike

对于多个元素,indexOf() 方法 的替代方法是什么?当与&& 运算符 一起使用时,而不是与|| 一起使用时运营商

示例:

var fruit = 'banana,lemon,mango,apple';
if ( fruit.indexOf('banana') > -1 && fruit.indexOf('lemon') > -1 && fruit.indexOf('mango') > -1 ) {
alert('found');
}

|| (OR) Operator 我找到了这个解决方案:fruit.match(/(banana|lemon|mango)/)

最佳答案

您可以使用一个数组并检查是否 every数组的元素通过测试:

var fruit = 'banana,lemon,mango,apple';
console.log(
['banana', 'lemon', 'mango', 'apple'].every(str => fruit.includes(str))
);

对于正则表达式解决方案,您可以使用多个前瞻:

var fruit = 'banana,lemon,mango,apple';
console.log(
/^(?=.*banana)(?=.*lemon)(?=.*mango)(?=.*apple)/.test(fruit)
);
console.log(
/^(?=.*FruitThatDoesntExist)(?=.*lemon)(?=.*mango)(?=.*apple)/.test(fruit)
);

请注意 <regex>.test (根据字符串是否通过测试返回 true 或 false)可能比 str.match(<regex>) 更合适一点(返回一个匹配对象)

关于javascript - 多个元素的 indexOf() 方法的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52157503/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com