gpt4 book ai didi

javascript - 如何将一个字符串从另一个字符串转换为 'subtract'?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:11:58 26 4
gpt4 key购买 nike

假设我有以下两个字符串:

var value = "1-000-111";
var mask = " - -";

我想从减去掩码。换句话说,我想要这样的东西:

var output = subtract(value, mask);
// output should be 1000111

实现subtract() 的最佳方式是什么?我已经写了这个,但对我来说这并不优雅。

function subtract(value, mask) {
while (mask.indexOf('-') >= 0) {
var idx = mask.indexOf('-');
value = value.substr(0, idx) + value.substr(idx + 1);
mask = mask.substr(0, idx) + mask.substr(idx + 1);
}
return value;
}

JavaScript 有内置的东西来完成这个吗?请注意,屏蔽字符不限于-(破折号),还可以是其他字符,如+。但是在给定的情况下,屏蔽字符只能是 -+,因此可以将其发送到 subtract() 函数,这使得处理不同的掩码字符变得微不足道。此外,屏蔽字符将位于任意位置。

也欢迎任何与语言无关的答案。

最佳答案

可以拆分值字符串,过滤掉与掩码字符串相同位置的字符不相等的字符。

然后加入数组得到一个新的字符串。

function subtract(value, mask) {
return value.split('').filter(function (a, i) {
return a !== mask[i];
}).join('');
}

console.log(subtract("1-000-111", " - -"));
console.log(subtract("foo1-000-111", "foo - -"));

关于javascript - 如何将一个字符串从另一个字符串转换为 'subtract'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43847975/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com