gpt4 book ai didi

javascript在数组中查找重复错误

转载 作者:行者123 更新时间:2023-11-28 17:51:03 26 4
gpt4 key购买 nike

我正在努力实现以下结果。我有一个文本区域,我想转换将在该文本区域内输入的所有文本(按行)到数组中。输入文本后,我想检查条目中是否有重复项。

为此,我:1)从textarea创建一个数组(名为myarrayfromtextarea,如下)2)我创建一个重复值的数组(下面名为 checkArray)3)我循环遍历第一个数组中的所有值,并检查第二个数组中的匹配项。

理论上,它工作得很好,但我尝试在文本区域中输入以下值:

  • dwdw
  • dwdwdwdwdwdwdwdw
  • dwdwdwdw
  • dwdwdwdw
  • dwdwdwdwdwdwdwdwdwdw

我预计只会找到一个重复值(第 3 行和第 4 行),但令人难以置信的是,当我运行 --> checkArray.indexOf(array[i]) 时,第 1 行也显示匹配项。

你能帮我吗?

var myarrayfromtextarea = $('#My_textarea').val().split('\n'); // create array from textarea
console.log("array from textarea: " + myarrayfromtextarea)


var myArr = myarrayfromtextarea; /// here I start to find duplicates
var obj = {};
var checkArray = "["
myArr.forEach(function(item) {
if (typeof obj[item] == 'number') {
checkArray = checkArray + item + ",";
obj[item]++;

} else {
obj[item] = 1;
}
});

checkarraylenght = (checkArray.length - 1)
checkArray = checkArray.substring(0, checkarraylenght)


checkArray = checkArray + "]" + '';
console.log("checkarray = " + checkArray)

myarrayfromtextarea = myarrayfromtextarea + '';
var array = myarrayfromtextarea.split(',');

var arrayLength = array.length;
for (var i = 0; i < arrayLength; i++) {

if (checkArray.indexOf(array[i]) == -1) {
console.log("Not a duplicate: " + array[i]);
} else {

console.log("Duplicate value: " + array[i]);
}
//Do something
}

最佳答案

//maybe something like
var inputLines = $('textarea').val().split('\n');
var lineValues = {};

inputLines.forEach(function(line, index){
if (!lineValues[line]) lineValues[line] = [];

lineValues[line].push(index + 1);
});

Object.keys(lineValues).forEach(function(line){
if (lineValues[line].length > 1) {
lineValues[line].forEach(function(value){
console.log(['Duplicate Value "', line, '":line:', value ].join(''));
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea>
dwdw
dwdwdwdwdwdwdwdw
dwdwdwdw
dwdwdwdw
dwdwdwdwdwdwdwdwdwdw
</textarea>
<div><button>TEST</button></div>

关于javascript在数组中查找重复错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45510235/

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