Rép*_*pás 2 javascript foreach jquery replace object
我想替换对象中的变量,但不知道变量的键...例如:
var parameters = new Object();
parameters.startregion = null;
parameters.fx_adultnum = 2;
Run Code Online (Sandbox Code Playgroud)
... 晚一点
$adultnum.change(function(){ setParameters("fx_adultnum", $adultnum.val() );});
Run Code Online (Sandbox Code Playgroud)
和setParameters函数(绝对不起作用:P
function setParameters(v, value){
console.log(parameters);
$.each(parameters, function(key, val) {
if (key == v) {
console.log(key);
console.log(val);
$(this).val(value); // <-- not works
}
});
console.log(parameters);
}
Run Code Online (Sandbox Code Playgroud)
我想将fx_adultnum的值替换为4.
你能帮忙吗?非常感谢.
您可以使用简单的索引按名称访问对象的属性:
this[val] = value;
Run Code Online (Sandbox Code Playgroud)
只要注意,在$.each该this情况下被设置为您当前迭代的价值.你的意思是:
v[key] = val;
Run Code Online (Sandbox Code Playgroud)
您还可以查看jQuery的扩展函数
var A = { "x": 1, "y": 2 };
var B = { "y": "3", "z": 12 };
$.extend(A, B);
now A is { "x" : 1, "y": "3", "z": 12 }
Run Code Online (Sandbox Code Playgroud)
或者如果你想获得相同的结果,而不修改A,那么你可以这样做:
var newObj = $.extend({}, A, B);
Run Code Online (Sandbox Code Playgroud)