首页 > 解决方案 > JavaScript 数组删除重复的单词或字符(如果只输入字符。不要从 1 个单词中删除所有重复项

问题描述

输入:Samsung,再输入:Samsung,再输入:Tomas,再输入:sass,再输入:sass,再输入:b,再输入:b,再输入:bb,再输入:bb....... .

并显示以下内容:使用 removeDuplicateUsingSet:Samsung, Tomas, sass, b, bb 没有功能:Samsung,Samsung,Tomas,sass,sass,b,b,bb,bb 并且当您键入 stop 时循环停止。 ...

function removeDuplicateUsingSet(arr){
let unique_array = Array.from(new Set(arr))
return unique_array}

var inputs =[];
var alreadyEntered = false;
while (!alreadyEntered) 
{
var input = prompt("Enter items until you enter it twice");

for (var i=0;i<inputs.length;i++) {
    if (inputs[i] == input)
     {
        alert("Already entered!");
        alreadyEntered = true;
        break;
    }

}
inputs.push(input);
}



alert("With removeDuplicateUsingSet function : " + "\n" + 
removeDuplicateUsingSet(inputs) + "\n" + "Without: " + "\n" + inputs);

现在这段代码有中断循环,我不知道如何修复它....尝试做接下来的事情:

function removeDuplicateUsingSet(arr){
let unique_array = Array.from(new Set(arr))
return unique_array
}

var array = [];
var stored = [];
while(array !== 'stop')
{
stored.push(prompt('what are your fav books ? '));
array = prompt('If you would like to continue enter any key otherwise enter or type stop');

// document.write(stored + " , ");
console.log(removeDuplicateUsingSet(array) + "\n___________");
}
alert("With removeDuplicateUsingSet function : " + "\n" + 
removeDuplicateUsingSet(array) + "\n" + "Without: " + "\n" + stored);

但也不是我想要的......它不断删除所有重复的字符(例如“三星”显示它SAMUNG,如果输入了2个相同的元素(项目)我想删除它请帮助我。谢谢提前。

标签: javascriptarraysloopscontinue

解决方案


这是您想要的输出吗?

function removeDuplicateUsingSet(arr) {
  let unique_array = Array.from(new Set(arr))
  return unique_array
}

var inputs = [];
while (true) {
  var input = prompt("Enter items until you enter it twice");
  if (input == 'stop') break;

  inputs.push(input);
}

alert("With removeDuplicateUsingSet function : " + "\n" + removeDuplicateUsingSet(inputs) +
  "\n" + "Without: " + "\n" + inputs);


推荐阅读