gpt4 book ai didi

javascript - 如何检查 javascript 字符串数组中是否存在特定字符

转载 作者:行者123 更新时间:2023-12-02 18:38:44 25 4
gpt4 key购买 nike

我有一个像这样的JavaScript数组

var main_array = ["allen~1", "ajay~2", "raj~3"];

我有另一个数组,例如

var sub_array=["allen", "ajay"];

编辑

我需要检查 sub_array 的每个值是否在 main_array 中找到,(即,是否在 ["allen~1", "ajay~2", "raj~3"] 中找到 'allen' 因此必须从数组中删除不匹配的值。结果“raj~3”必须从 main_array 中删除

如何实现这一目标?

尝试过indexOf()、match(),但失败了,因为它需要像“allen~1”这样的精确匹配..

提前致谢

最佳答案

你的问题虽然不是很清楚,但我认为你想要实现的是一个数组,其中包含 main_array 中作为 sub_array 一部分的所有值?在您的示例中,结果数组应该是

["allen~1", "ajay~2"]

?如果是这样,请看这个:

然后您需要循环子数组,并 checkin main_array:

var i, j, result = [];
for (i = 0; i < sub_array.length; i++) {
for (j = 0; j < main_array.length; j++) {
if (main_array[j].indexOf(sub_array[i]) != -1) {
result.push(main_array[j]);
}
}
}

查看工作中的 jsfiddle:http://jsfiddle.net/yf7Dw/

编辑:Felix Kings 的答案可能是最好的,但如果您不想使用 polyfill 并且必须支持较旧的 IE,您可以使用我的解决方案

编辑2:Array.splice如果您想从主数组中删除该元素,那么这是您的 friend 。查看更新的 fiddle :http://jsfiddle.net/yf7Dw/2/

var i, j;
for (i = 0; i < sub_array.length; i++) {
for (j = 0; j < main_array.length; j++) {
if (main_array[j].indexOf(sub_array[i]) != -1) {
main_array.splice(j, 1);
}
}
}

关于javascript - 如何检查 javascript 字符串数组中是否存在特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17041031/

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