Javascript 从typescript中的数组中删除重复项
我是typescript新手,在使用javascript技能时遇到了一些问题。例如,有人能帮我用typescript编写下面完全相同的javascript代码吗? 如果根本不可能,任何将呈现预期输出(无重复值的数组)的typescript函数 这只是一种从数组中删除重复项的简单方法,但似乎typescript不允许我定义空对象。。。我不确定 下面代码的输出是:['John','Paul','George','Ringo'] 谢谢Javascript 从typescript中的数组中删除重复项,javascript,typescript,ecmascript-6,Javascript,Typescript,Ecmascript 6,我是typescript新手,在使用javascript技能时遇到了一些问题。例如,有人能帮我用typescript编写下面完全相同的javascript代码吗? 如果根本不可能,任何将呈现预期输出(无重复值的数组)的typescript函数 这只是一种从数组中删除重复项的简单方法,但似乎typescript不允许我定义空对象。。。我不确定 下面代码的输出是:['John','Paul','George','Ringo'] 谢谢 const names = ['John', 'Paul', '
const names = ['John', 'Paul', 'George', 'Ringo', 'John'];
function removeDups(names) {
let unique = {};
names.forEach(function(i) {
if(!unique[i]) {
unique[i] = true;
}
});
return Object.keys(unique);
}
removeDups(names)
在这种情况下,您只需添加类型
const names = ['John', 'Paul', 'George', 'Ringo', 'John'];
function removeDups(names: string[]) {
let unique: any = {};
names.forEach(function(i: string) {
if(!unique[i]) {
unique[i] = true;
}
});
return Object.keys(unique);
}
removeDups(names)
然后从所需位置调用removeDups
这是:
所有javascript都是正确的typescript@frozen当您启用
strict
compile标志时,它不是tsc--init
的默认标志。。。
names = ['John', 'Paul', 'George', 'Ringo', 'John'];
removeDups(names) {
let unique = {};
this.names.forEach((i) => {
if(!unique[i]) {
unique[i] = true;
}
});
return Object.keys(unique);
}
names = ['John', 'Paul', 'George', 'Ringo', 'John'];
removeDups(names) {
return this.names.filter((elem, index, self)=> {
return index === self.indexOf(elem);
})
}