我有两个字符串,一个是键,一个是值,我想把它变成一个对象并在循环中连接。例如:
var data = {};
// loop starts here
var a_key = 'element';
var a_val = 'value';
var a_obj = // somehow this equals { "element":"value" }
data = data.concat(a_obj);
// loop ends here
我只是不确定如何从这两个字符串创建一个对象!任何帮助表示赞赏
答案 0 :(得分:1)
你应该可以这样做:
var a_obj = new Object();
a_obj[a_key] = a_val
不,不是吗? (我现在无法对此进行测试,所以请用一点盐来治疗......)
答案 1 :(得分:1)
在没有密钥的情况下将某些东西连接到一个对象是没有意义的。也许data
应该是一个对象数组?
data = [];
a_obj = {};
a_obj[a_key] = a_val;
data += a_obj;
答案 2 :(得分:1)
var a_key = 'key';
var a_val = 'value';
var a_obj = {};
a_obj[a_key] = a_val;
注意:
var a_obj = {}
和
var a_obj = new Object();
是相同的,但{}感觉更清洁,并由Douglas Crockford's JSLint推荐。
为了将对象附加到其他对象,您可以执行类似......(未测试)
的操作for (var key in a_obj) {
if (a_obj.hasOwnProperty(key)) { // avoid inherited properties
data[key] = a_obj[key];
}
}
答案 3 :(得分:0)
var a_key ='element';
var a_val ='value';
var a_obj = {a_key:a_val};