【问题标题】:How to remove duplicate's string input is : "aaa bbb ccc aaa cccc" output is: aaa bbb ccc using java script如何删除重复的字符串输入是:“aaa bbb ccc aaa cccc”输出是:aaa bbb ccc using java script
【发布时间】:2017-07-18 13:42:03
【问题描述】:

我遇到了 Oracle 的这个问题

还有一个问题:如果我通过了 ex-1 : 输入为 123 输出 - 00123 ex-2 : 输入为 23 输出 - 00023 在输入前插入零 - 长度

还有一个问题:如果我给了
Ex-1:输入:一月二月输出:一月二月三月 Ex-1:输入:march april 输出:march april may

请帮忙谢谢帮忙

我试过for循环和split,但面试官说我不知道​​使用hash-maps hash-table, 请解释 请继续关注我发布的面试问题,这对有经验的人很有帮助

【问题讨论】:

  • 你的解决方案是什么?
  • 所以你有循环和拆分的第一部分,正如他们告诉你的那样,你使用 map.object 不会被欺骗......

标签: javascript arrays string ecmascript-6


【解决方案1】:

尝试关注

var str = "aaa bbb ccc aaa ccc";
var map = {};
str.split(" ").forEach(function(word) {
  map[word] = true; // enter the word in map (overrides dupes - have unique key)
});
console.log(Object.keys(map).join(" ")); // join all keys to return string

【讨论】:

  • 非常感谢..可以请解释一下,我在哪里可以这种类型的程序
  • @VeereshKoppula - 有关知识,请参阅 MDN。要构建算法,你必须练习。 :)
  • @VeereshKoppula 每个单词都用作地图的唯一键。因此,当您添加两次相同的单词时,实际上什么也没有发生。最后,您只需输出所有这些键。
【解决方案2】:

Set 基本上和 nikhils 对象做的一样:

var str = "aaa bbb ccc aaa ccc";
var result = [...new Set(str.split(' '))].join(' ');
console.log(result);

Set 删除所有重复项。 [...new Set()] 将集合转换为数组。

【讨论】:

    猜你喜欢
    • 2015-03-18
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多