Google Apps 脚本:数组中的模糊匹配



我正在尝试将电话号码数组(A(与另一个数组(排除的电话号码列表(匹配。如果找到匹配项,我想从数组 A 中删除这些电话号码。但是,问题是两个数组中没有以完全相同的格式提及电话号码。因此,它变成了模糊匹配的情况。如何在谷歌脚本中应用模糊匹配?请参阅下面的 2 个数组示例:

var A = ['1-513-317-7948','513-235-5403','792-3900','1-800-752-2339', '513-234-2323'];
var B = ['513-317-7948','1-513-235-5403','792-3900','1-800-752-2339'];

@Op,您能否用预期的输出更新问题,到目前为止您尝试过哪些代码片段?

我假设您要检查它们是否具有相同的电话号码序列。(1-513-317-7948 和 513-317-7948 相同(。

比较两个电话号码时,可以删除电话号码中的"-"并检查其是否具有相同的编号规则。

你可以做这样的事情。希望这有帮助。

var A = [
"1-513-317-7948",
"513-235-5403",
"792-3900",
"1-800-752-2339",
"513-234-2323",
];
var B = ["513-317-7948", "1-513-235-5403", "792-3900", "1-800-752-2339"];
const isSame = (str1, str2) => {
const phone1 = str1.replace(/-/g, "");
const phone2 = str2.replace(/-/g, "");
return phone1.includes(phone2) || phone2.includes(phone1);
};
const output = A.filter((ph1) => !B.some((ph2) => isSame(ph1, ph2)));
console.log(output);

最新更新