在TypeScript中,我想要逗号分隔的重复字符串中的不同值:
this.Proid = this.ProductIdList.map(function (e) { return e.ProductId;}).join(',');
this.Proid = "2,5,2,3,3";
我需要:
this.Proid = "2,5,3";
答案 0 :(得分:3)
这可以通过ES6完成,
var input = [2,5,2,3,3];
var test = [ ...new Set(input) ].join();
<强>样本强>
var input = [2,5,2,3,3];
var test = [ ...new Set(input) ].join();
console.log(test);
修改
对于ES5及以下版本,您可以尝试
var input = [2,5,2,3,3];
var test = Array.from(new Set(input).values()).join();
console.log(test);
答案 1 :(得分:2)
一种可能的解决方案:
this.ProductIdList = ["2","5","2","3","3"]
const tab = this.ProductIdList.reduce((acc, value) => {
return !acc.includes(value) ? acc.concat(value) : acc
}, []).join(',');
console.log(tab) //"2,5,3"
你也可以在一行中完成:
this.ProductIdList = ["2","5","2","3","3"]
const tab = this.ProductIdList.reduce((acc, value) => !acc.includes(value) ? acc.concat(value) : acc, []).join(',');
console.log(tab) //"2,5,3"