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