字符串与前缀匹配

时间:2018-08-30 02:59:48

标签: javascript lodash

我是Java的新手。 假设我有一个联系电话和前缀字符串数组。

 if (contactNumber.startsWith(prefix)) {
         contactNumberPrefix = prefix
         contactNumberNumber = contactNumber.substring(lineNumberPrefix.length);

       }

所以逻辑是我需要遍历前缀和

{{1}}

如何最好地通过lodash或javascript实现此目标?

1 个答案:

答案 0 :(得分:0)

您可以利用Array#some遍历可用的前缀。如果任何一个匹配项是true,它将返回true。参见下面的演示:

let contactNumber = "0204221246890";
let prefixes = ["027", "020", "021", "022", "028", "029", "0204", "03", "04", "06", "07", "09"];

if (prefixes.some(prefix => contactNumber.startsWith(prefix))) {
  console.log('matches');
}

编辑1

如果需要返回匹配的前缀,最好使用Array#find。它返回数组中的第一个匹配项。

let prefix = prefixes.find(prefix => contactNumber.startsWith(prefix));
return [contactNumber, prefix];

这会将匹配的前缀和联系电话返回给呼叫者,您可以对其进行销毁。