使用 $.each() 清理传递给函数的变量

发布于 2024-10-17 13:44:18 字数 381 浏览 3 评论 0原文

我有以下问题:

setup : function(first, middle, last) {

    // Clean input.
    $.each([first, middle, last], function(index, value) {

        ??? = value.replace(/[\W\s]+/g, '').toLowerCase();
    });

有什么办法可以让它发挥作用吗?我试图找出用什么代替 ??? (我尝试过 thisindexthis[ index],但似乎无法集中精力指向原始变量,

感谢您的帮助。

I have the following:

setup : function(first, middle, last) {

    // Clean input.
    $.each([first, middle, last], function(index, value) {

        ??? = value.replace(/[\W\s]+/g, '').toLowerCase();
    });

Is there a way I could get that to work? I've tried to figure out what to substitute instead of ??? (I've tried this, index, this[index], but can't seem to wrap my head around pointing to the original variables.

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

╄→承喏 2024-10-24 13:44:18

使用参数对象。

setup : function(first, middle, last) {
    var args = arguments;
    $.each(arguments, function(index, value) {
        args[index] = value.replace(/[\W\s]+/g, '').toLowerCase();
    });

示例: http://jsfiddle.net/EfHQ2/

Use the Arguments object.

setup : function(first, middle, last) {
    var args = arguments;
    $.each(arguments, function(index, value) {
        args[index] = value.replace(/[\W\s]+/g, '').toLowerCase();
    });

Example: http://jsfiddle.net/EfHQ2/

长亭外,古道边 2024-10-24 13:44:18

要修改数组,请使用 $.map() 代替,并仅返回新值:

var clean = $.map([first, middle, last], function(value, index) {
    return value.replace(/[\W\s]+/g, '').toLowerCase();
});

更好的是,使用特殊的 arguments 对象(如 Patrick的答案)代替构建临时数组:

var clean = $.map(arguments, function(value, index) {
    return value.replace(/[\W\s]+/g, '').toLowerCase();
});

To modify arrays, use $.map() instead, and just return the new value:

var clean = $.map([first, middle, last], function(value, index) {
    return value.replace(/[\W\s]+/g, '').toLowerCase();
});

Better, use the special arguments object (as in Patrick's answer) in place of building a temporary array:

var clean = $.map(arguments, function(value, index) {
    return value.replace(/[\W\s]+/g, '').toLowerCase();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文