我有一个对象
var foo = {
"prop1" : "value2",
"prop2" : "value3",
"prop3" : "value4"
};
我希望有一种方法可以让人们一次输入多个键和值对。
现在我有这个:
function propAndValAdder(){
for (var i = 0; i < arguments.length; i++) {
foo[arguments[i]] = [arguments[i + 1]];
}
}
这是正确的吗?
最佳答案
你几乎做对了:只需更改循环以将 2 添加到“i”(这样你就不会将该值添加为另一个属性,必须跳过它)并摆脱 [] 的围绕赋值行中的值(这使该值成为我们不想要的数组)。
更正的代码:
var foo = {
"prop1" : "value2",
"prop2" : "value3",
"prop3" : "value4"
};
function propAndValAdder(){
for (var i = 0; i < arguments.length; i+=2) {
foo[arguments[i]] = arguments[i + 1];
}
}
propAndValAdder("prop4","value5","prop5","value6");
console.log(foo);
//对象 { prop1: "value2", prop2: "value3", prop3: "value4", prop4: "value4", prop5: "value6"}
关于javascript - 如何通过 JavaScript 函数向对象添加多个键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171834/