Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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 从typescript中的数组中删除重复项_Javascript_Typescript_Ecmascript 6 - Fatal编程技术网

Javascript 从typescript中的数组中删除重复项

Javascript 从typescript中的数组中删除重复项,javascript,typescript,ecmascript-6,Javascript,Typescript,Ecmascript 6,我是typescript新手,在使用javascript技能时遇到了一些问题。例如,有人能帮我用typescript编写下面完全相同的javascript代码吗? 如果根本不可能,任何将呈现预期输出(无重复值的数组)的typescript函数 这只是一种从数组中删除重复项的简单方法,但似乎typescript不允许我定义空对象。。。我不确定 下面代码的输出是:['John','Paul','George','Ringo'] 谢谢 const names = ['John', 'Paul', '

我是typescript新手,在使用javascript技能时遇到了一些问题。例如,有人能帮我用typescript编写下面完全相同的javascript代码吗?

如果根本不可能,任何将呈现预期输出(无重复值的数组)的typescript函数

这只是一种从数组中删除重复项的简单方法,但似乎typescript不允许我定义空对象。。。我不确定

下面代码的输出是:['John','Paul','George','Ringo']

谢谢

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