【问题标题】:JavaScript Arrays delete duplicate words or characters(if only characters are entered. Not to delete from 1 word all duplicatesJavaScript 数组删除重复的单词或字符(如果只输入字符。不要从 1 个单词中删除所有重复项
【发布时间】:2018-11-16 03:06:37
【问题描述】:

输入: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个相同的元素(项目),我想删除它 请帮我。 提前致谢。

【问题讨论】:

    标签: javascript arrays loops continue


    【解决方案1】:

    这是你想要的输出吗?

    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);

    【讨论】:

    • 是的 :) 我会比较一下,看看我做错了什么:D 非常感谢
    • 您仍然必须使用 while 进行用户输入。您做错的是:作为用户输入,您尝试立即比较数组。您已经拥有删除重复项的功能,因此您只需将输入推送到数组中即可。
    • 是的我现在知道了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2013-08-11
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多