var arr=[];
arr.push("阿姆斯特丹历史");
arr.push("阿姆斯特丹美食");
arr.push("阿姆斯特丹风土人情");
arr.push("阿姆斯特丹机票");
var str=arr.join('_');
console.log(str);
// 阿姆斯特丹历史_阿姆斯特丹美食_阿姆斯特丹风土人情_阿姆斯特丹机票
// 想要输出:
// 阿姆斯特丹历史_美食_风土人情_机票
想去掉重复的开头字符串(尽可能长).
###[ ...new Set(str.split("")) ].join('')
输入: 阿姆斯特丹历史_阿姆斯特丹美食_阿姆斯特丹风土人情_阿姆斯特丹机票
输出:"阿姆斯特丹历史_美食风土人情机票"
如果是单个字符串输入拼接就是你期望的了
所有的字符串问题都可以改为数组问题,数组的解决方法总是比较较多的
var str= arr.join('_');
var splitStr = str.split('')
var newStr = splitStr.reduce(function(str, item) {
if (item == '_' || str.indexOf(item) == -1) {
str += item
}
return str
}, '')
console.log(newStr)