Javascript:在数组中搜索重复项
这就是我正在尝试做的: 我向用户提供一个文本区域,他必须输入一些域,如果他输入同一域两次(重复),我想删除这些重复项。
到目前为止,我已经走到了可以找到骗子的部分,这是我正在使用的代码:
function check_if_already_in_the_list___manual_textbox()
{
var therows=0;
var thetext = document.forms[0].text.value;
var newtext = thetext.split("\n");
therows+=newtext.length;
var i;
var match_counter=0;
for(i=0;i<newtext.length;i++) // first iterate over the number of items
{
for(j=0;j<newtext.length;j++) // second, start a second loop to compare each other
{
if(newtext[j].toLowerCase()==newtext[i].toLowerCase())
{
match_counter++;
}
if(match_counter >=2) // Found dupe!
{alert("Matched:"+newtext[j]+" "+newtext[i]+" Counter"+match_counter);
match_counter=0;}
}
alert("Match counter:"+match_counter+ " D:"+newtext[i]);'
match_counter=0;
}
//alert(""+match_counter);
return match_counter;
}
任何更好地做到这一点的建议将不胜感激,而且我也不知道如何取出骗子:(
谷歌搜索我发现我可能必须使用“拼接”,但不太确定。
预先感谢!
R
(PS 抱歉,格式看起来很奇怪,但是当我粘贴代码时发生了这种情况)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
这是我的微弱尝试。它类似于
该对象也将包含每个对象有多少个重复项。 arrCopy 具有唯一的值。
编辑:请参阅 RobG 关于
hasOwnProperty
的评论。在这种情况下应该是Here's my feeble attempt at it. It's similar to
The object will also contain how many duplicates there were for each one. arrCopy has the unique values.
EDIT: see RobG's comment concerning
hasOwnProperty
. In this case it should be很多答案。这是一个使用通用函数来创建一组唯一成员的函数。请注意,结果将被排序,使用对象并使用 for..in 获取属性并不能保证保持任何特定的顺序。
Lots of answers. Here's one that uses a generic funciton to create an array of unique members. Note that the result will be sorted, using an object and getting back properties using for..in isn't guaranteed to maintain any particular order.
您可以使用称为关联数组的东西来解决这个问题。看看它是否适合你。
You can make use of something called as associative arrays to solve this problem. See if it works for you.
第一名
写
复制数组,第2 个小
数组在javascript中有一个“排序”功能,我建议你在比较
第三个 之前对其进行排序
我看到你正在使用冒泡排序,这很好。在
for(j=0;j 中,你不需要从 0 开始,你可以从 i
最后开始,使用已经存在的东西,http://api.jquery.com/jQuery.unique/
1st
Copy array, and lowercase it first
2nd
Array has a "sort" function in javascript, I suggest you sort it before compare
3rd
I saw you are using bubble sorting, it's good. At
for(j=0;j<newtext.length;j++)
, you do not need to start from 0, you can start from ilast, use something already there, http://api.jquery.com/jQuery.unique/
我认为这里有一个错误..
这段代码不应该是?
注意
j=i+1
和newtext.length -1
(最后一个是可选的)然后:
I think there is a mistake here..
This code should not be??
note
j=i+1
andnewtext.length -1
(this last one is optional)Then: