javascript - 拼接对象的属性?

标签 javascript object

是否有实用程序(jquery、lodash 等)可以将属性从一个对象提取到另一个对象,然后从原始对象中删除它们?类似于Array的拼接?

obj1 = {color:"red", age:"23", name:"cindy"}
obj2 = extract(obj1, ["color","name"])

结果:

obj1 is { age:23 }
obj2 is {color:"red", name:"cindy"}

最佳答案

您可以使用一个函数来迭代键并返回一个新的 objectc 并从源对象中删除键。

function extract(object, keys) {
    return keys.reduce(function (o, k) {
        o[k] = object[k];
        delete object[k];
        return o;
    }, {});
}

var obj1 = { color: "red", age: "23", name:"cindy" },
    obj2 = extract(obj1, ["color","name"]);
    
console.log(obj1);
console.log(obj2);

关于javascript - 拼接对象的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42427080/

相关文章:

javascript - JS 函数不更新对象

javascript - Shiny 的应用程序以不同的设置开始

javascript - 'evil' 等式会减慢代码速度吗?

object - Lua 在元表中设置 __index

javascript - 如何修改嵌套对象的属性?

python - 从 <select> 表单中选择对象 (HTML)

javascript - 'require(' ./app/routes.js')(app);' 是什么意思在此 Node 服务器示例中是什么意思?

javascript - 来自 spring mvc modelandview 的parent.window.location重定向

javascript - 关于 JS 脚本参数的建议

java - Java中无法使用Object将字符串添加到List中