我有以下内容:
setup : function(first, middle, last) {
// Clean input.
$.each([first, middle, last], function(index, value) {
??? = value.replace(/[\W\s]+/g, '').toLowerCase();
});
有没有办法可以让它发挥作用?我试图找出替代的内容而不是???
(我已尝试this
,index
,this[index]
,但似乎无法绕过我的脑袋指向原始变量。
感谢您的帮助。
答案 0 :(得分:2)
使用Arguments对象。
setup : function(first, middle, last) {
var args = arguments;
$.each(arguments, function(index, value) {
args[index] = value.replace(/[\W\s]+/g, '').toLowerCase();
});
答案 1 :(得分:1)
要修改数组,请改用$.map()
,然后返回新值:
var clean = $.map([first, middle, last], function(value, index) {
return value.replace(/[\W\s]+/g, '').toLowerCase();
});
更好的是,使用特殊的arguments
对象(如Patrick's answer)代替构建临时数组:
var clean = $.map(arguments, function(value, index) {
return value.replace(/[\W\s]+/g, '').toLowerCase();
});