Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从字符串中删除相同的元素_Javascript_Arrays_String - Fatal编程技术网

Javascript 从字符串中删除相同的元素

Javascript 从字符串中删除相同的元素,javascript,arrays,string,Javascript,Arrays,String,获取字符串,需要从中删除相同的单词 这是我的密码。我尝试将字符串拆分为数组,然后进行排序,但没有成功。它甚至没有通过我的if。我想听听你的建议,也许还有工作代码:) var str=“只要我不去那里,我就不会去任何地方”; var数组=str.split(“”); document.getElementsByTagName('p')[0].innerHTML=str; document.getElementsByTagName('p')[1].innerHTML=array; document.

获取字符串,需要从中删除相同的单词

这是我的密码。我尝试将字符串拆分为数组,然后进行排序,但没有成功。它甚至没有通过我的
if
。我想听听你的建议,也许还有工作代码:)

var str=“只要我不去那里,我就不会去任何地方”;
var数组=str.split(“”);
document.getElementsByTagName('p')[0].innerHTML=str;
document.getElementsByTagName('p')[1].innerHTML=array;
document.getElementsByTagName('button')[0]。onclick=function(){
对于(var i=0;i
拆分句子后,您可以使用扩展语法:

const str=“只要我不去那里,我就不会去任何地方”;
const unique=[…新集合(str.split(“”))].join(“”);

console.log(唯一)您只需替换正在搜索的子字符串即可

var ret = "data-123".replace('data-','');
console.log(ret);

您的问题是没有用每个其他数组元素检查每个数组元素

您的代码:

for (var i = 0; i < array.length; i++) {
            if (array[i] == array[i + 1]) {
                array.splice(i, 1);
            }
        }
for(变量i=0;i
只需按顺序检查数组元素

尝试:

for(变量i=0;i
如果你喜欢一行,试试这个

var reducedString  = array.reduce(function(out, s) {
    return out.indexOf(s) == -1 ? out + ' ' + s : out;
},'').substring(1);
或者在ES6中

var reducedString = array.reduce( (out, s) => out.indexOf(s) == -1 ? out + ' ' + s : out);

可能是重复的,谢谢,伙计,它成功了!顺便说一句,我尝试了你写的双循环i和j,但不幸的是我忘了添加&&i!=j to if:)@ttmcswg很高兴能帮助你。如果有效,请接受我的正确答案:)我不知道这是否有效,但ES6为+1@MarkCarpenterJr:),我最近发现了array.reduce(),节省了很多空间
var reducedString  = array.reduce(function(out, s) {
    return out.indexOf(s) == -1 ? out + ' ' + s : out;
},'').substring(1);
var reducedString = array.reduce( (out, s) => out.indexOf(s) == -1 ? out + ' ' + s : out);