我正在重构代码,并希望减少编写的代码行,这是我的代码:

let { user, change_log, new_value, old_value } = req.query;

user = user.replace(/'/g, "\\'");
change_log = change_log.replace(/'/g, "\\'");
new_value = new_value.replace(/'/g, "\\'");
old_value = old_value.replace(/'/g, "\\'");



所以我想使其像这样的单行或几行代码:

user, change_log, new_value, old_value =
        (user, change_log, new_value, old_value).replace(/'/g, "\\'");


这样我不必重复每个变量就可以添加一个replace方法。这有可能还是我应该坚持当前的解决方案?

感谢那些能回答我的问题的人,如果我的代码做得不好,请纠正我。

最佳答案

您可以根据值创建一个数组,并在其上使用map。使用Destructuring Assignment without declaration

let { user, change_log, new_value, old_value } = req.query;
[user, change_log, new_value, old_value] =
     [user, change_log, new_value, old_value].map(a => a.replace(/'/g, "\\'"))


注意:前一行的末尾必须为;。否则,它将把[]视为req.query的括号符号。像这样:

req.query[user, change_log, new_value, old_value]

关于javascript - 如何将方法添加到多个变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57108940/

10-11 05:48