Javascript 检测数组中是否有任何元素包含连字符

Javascript 检测数组中是否有任何元素包含连字符,javascript,arrays,Javascript,Arrays,我尝试使用includes函数,但它返回false,如下所示: <script> var fruits = ["Banana-orange", "Orange", "Apple", "Mango"]; console.log(fruits.includes("-")); // returnes false, should be true </script> 正如你所看到的,“香蕉橙”包含一个连字符。我希望结果会变成真的 我是否使用了错误的函数?您实际要检

我尝试使用includes函数,但它返回false,如下所示:

<script>
    var fruits = ["Banana-orange", "Orange", "Apple", "Mango"];
    console.log(fruits.includes("-")); // returnes false, should be true
</script>
正如你所看到的,“香蕉橙”包含一个连字符。我希望结果会变成真的


我是否使用了错误的函数?

您实际要检查的是数组中是否有一个项是-

我将使用for循环检查数组中是否有包含“-”的项

const fruits = ['Banana-orange', 'Orange', 'Apple', 'Mango'];

for (let i = 0; fruits.length; i++) {
    if (fruits[i].includes('-')) return true;
}
与您案例中arrayfull字符串中的元素进行比较。要使其正常工作,请使用空空格连接数组中的值,并使用搜索子字符串的方法

var水果=[香蕉橙、橙、苹果、芒果];
console.logfruits.join.includes- 水果不包括“-”。水果1包含“-”。这就是includes函数不返回任何内容的原因。而是遍历数组并测试数组的内容

对于数组,搜索值必须与元素匹配,而不能与元素的子字符串匹配。使用筛选和查找进行回答。这是一个更广泛问题的重复。。。