gpt4 book ai didi

javascript - textarea 重复字符串检查忽略前导和尾随空格

转载 作者:行者123 更新时间:2023-11-30 13:09:27 24 4
gpt4 key购买 nike

用户将在文本区域中输入各种连续剧。每个换行符都表示一个新的序列号。一些要求/限制:

  • 不允许使用前导和尾随空格。
  • 连续剧中的空白是可以的。
  • 不允许出现空白连续剧
  • 我不想使用 JQuery。
  • 存储重复项以便向用户显示。

根据我的测试,我有一个可行的解决方案。我想确保我没有遗漏或忽略任何东西。我的问题是:

  • 是否有更有效的方法来检查重复项?
  • 是否有任何明显的测试用例是我的解决方案无法捕获的?

工作示例:http://jsbin.com/ivusuj/1/

function duplicateCheck() {
var output = document.getElementById('Output');
output.innerHTML = '';
var duplicateSerials = [];
var count = 0;
var textArea = document.getElementById('Serials');
var serials = textArea.value.trim().split(/ *\n */);

for(var i = 0;i < serials.length;i++){
var serial = serials[i];

if(serials.indexOf(serial) != serials.lastIndexOf(serial) &&
duplicateSerials.indexOf(serial) == -1 && serial !== '') {
duplicateSerials.push(serial);
}

}

// For testing
output.innerHTML = '<pre>Serials:\t' + serials.toString() + "<br />" +
'Duplicates:\t' + duplicateSerials.toString() + "<br>" +
'</pre>';
}

注意:以上是客户端检查。服务器端也将执行相同的检查以确保数据有效。


更新

解决方案比较:http://jsbin.com/ivusuj/4/edit

最佳答案

我给她整理了一个 jsfiddle:http://jsfiddle.net/wrexroad/yFJjR/3/

实际上以这种方式检查重复项是非常低效的。

这不是检查重复项,而是将一个属性添加到一个对象,该属性的名称是序列号。然后它打印出所有的属性名称。

这样,如果您有重复项,它只会创建该属性,然后覆盖它。

函数如下:

function duplicateCheck() {
var output = document.getElementById('Output');
output.innerHTML = '';

var textArea = document.getElementById('Serials');
var inputSerials =
textArea.value.trim().split(/ *\n */);
var outputSerials = new Object();

for(var i = 0;i < inputSerials.length;i++){
var serial = inputSerials[i];

//build an object whose properties are serials
//if the serial exists, incremint a counter
if(outputSerials[serial]){
outputSerials[serial]++;
}else{
outputSerials[serial] = 1;
}
}

output.innerHTML =
'Serials: <br />';

for(var i in outputSerials){
output.innerHTML += i + " ";
}

output.innerHTML +=
'<br /><br />Duplicate Serials: <br />';

for(var i in outputSerials){
//check to see if we have any duplicates
if(outputSerials[i] > 1){
output.innerHTML += i + " ";
}
}
}

关于javascript - textarea 重复字符串检查忽略前导和尾随空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432000/

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