gpt4 book ai didi

JavaScript 按字符数过滤 <input> 值的数组

转载 作者:行者123 更新时间:2023-11-30 08:16:09 25 4
gpt4 key购买 nike

这应该是一个快速的过程,但我一直在摸不着头脑,为什么这段 JavaScript 对我不起作用。目标是获取输入框的值(由空格分隔的单词字符串),将这些单词列为数组中的项目,并删除少于 3 个字符的单词:

var typed = $('input').val();
var query = typed.split(" ");
var i=0;
for (i=0; i<query.length; i++) {
if (query[i].length < 3) {
query.splice(i,1);
}
}

为输入框运行 onkeyup,它似乎可以工作,但只有大约 50% 的时间(1 和 2 个字符的字符串有时会以某种方式进入数组)。任何建议将不胜感激。

最佳答案

问题是您在删除元素时进行迭代。考虑这个数组:

["he", "l", "lo world"]

最初,您的循环从索引 0 开始,并从数组中删除 "he"。现在新数组是

["l", "lo world"]

在下一次迭代中,i 将为 1,您将检查 "lo world" 的长度,从而忽略 >“l” 字符串。

使用 filter Array 中的方法删除不需要的元素。

var biggerWords = query.filter(function(word) {
return word.length >= 3;
});

关于JavaScript 按字符数过滤 &lt;input&gt; 值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3766233/

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