我需要创建一个具有恒定第一个键属性的对象。其余的是动态的(来自数据库) 我的解决方案是.. 让我们这样说:
var bar="bar"; //comes from db;
var myProperties="trick":"treat","man":"woman"; // comes from db
var obj = {"foo":bar, myProperties}
但是我有一个错误。我不知道如何处理这个要求。
有人吗?替代解决方案?
最佳答案
您应该合并属性:
function merge_options(obj1,obj2){
var obj3 = {};
for (var attrname in obj1) { obj3[attrname] = obj1[attrname]; }
for (var attrname in obj2) { obj3[attrname] = obj2[attrname]; }
return obj3;
}
var bar="bar"; //comes from db;
var myProperties={trick:"treat",man:"woman"}; // comes from db
var obj = merge_options({"foo":bar}, myProperties);
或者更简单地创建对象并设置 foo 属性:
var obj={trick:"treat",man:"woman"};
obj.foo=bar;
关于javascript 对象初始化 {key :val, string},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596165/