javascript - 如何通过 JavaScript 函数向对象添加多个键和值?

标签 javascript

我有一个对象

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/

相关文章:

javascript - 如何在其中任何一个发生变化时反转前景色和背景色

javascript - 指定秒的 JW Player 事件

javascript - MobX Observables 与 RxJS 有什么关系吗?

javascript - 用户更改文本框值时的 jQuery/Javascript 函数

javascript - 无法在简单的node.js应用程序中找到模块mongodb

c# - asp MVC 中应该使用多少 JavaScript 代码?

java - 为 jQuery "sortable"问题重新排序 li 元素

javascript - CSS3 过渡不适用于移动设备

javascript - 使用功能检测而不是用户代理测试来测试 IE6

javascript - 使用 await 在 try/catch block 中声明一个 const