ends与ES6中的数组一起使用

时间:2017-12-06 07:54:03

标签: ecmascript-6

我学习ES6并尝试为我使用new endsWith。在此之前,我在我的一些脚本中使用了includes,我认为该机制将是相同的。我选择了一个随意的任务:我有域名列表,想要过滤所有“cn”域名。逻辑是:

let ends = [".cn",".tw",".jp"]
for(let i=0;i<arrayOfDomains.length;i++){
  const host = /https?:\/\/(www\.)?([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]+/.exec(arrayOfDomains[i])[0];
  console.log(host.endsWith(ends))
}

以及console.log所有false的结果。有没有办法在endsWith中使用数组?

1 个答案:

答案 0 :(得分:1)

不,没有办法在endsWith中使用数组,一个选项是声明另一个使用ends数组和host变量作为参数进行检查的函数。

您可以尝试这样的事情:

let ends = [".cs", ".com"];
let host = "www.page.com";
let hostEndsWith = (host, ends) => {
    let value = false;
    value = ends.some(element => {
        return host.endsWith(element);
    });
    console.log(value);
};

hostEndsWith(host, ends);

您可以在JSFiddle中复制该代码以进行测试。

以下是有关endsWith函数endsWith informartion

的信息

我希望这可以帮到你!