Ember js -- 从数组中删除重复项



我正在尝试清理验证脚本。

因此,如果上传的文件类型是错误的 - 例如图像而不是pdf。我需要警报说 - 上传了错误的文件类型,只接受pdf。

https://jsfiddle.net/mf78otve/37/

所以验证字符串看起来像这样

"application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf"

但真的需要清理它 - PDF,X-PDF,VND.pdf,PDF,X-PDF

然后

删除重复项,然后是PDF,X-PDF,VND.pdf

var validations = "application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf";
console.log("validations", validations);
var res = validations.split("/");
console.log("res", res);

var uniqueArray = function(arrArg) {
  return arrArg.filter(function(elem, pos,arr) {
    return arr.indexOf(elem) == pos;
  });
};

console.log(uniqueArray(res));

使用split然后map和 finllay 的组合filter

var validations = "application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf";
var result = validations.split`, `.map((a)=>a.split`/`[1]).filter((a,p,s)=>a.includes`pdf`&& s.indexOf(a)==p)
console.log(result)

使用 Setsplitfiltermap

var output = [...new Set( //Use set to remove duplicates
     input.split(",") //split by comma
          .map(s => s.split("/")[1]) take out value after /
          .filter( s => s.includes( "pdf" ) ) //only keep the values having pdf in it
)];

演示

var input = "application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf";
var output = [...new Set(input.split(",").map(s => s.split("/")[1]).filter( s => s.includes( "pdf" ) ))];
console.log( output )

最新更新