怎样才能得到这个
var myString = 'a,b';
以下以最有效的方式
var myObject = { a:1, b:1};
我需要 1 与每个参数相关联。谢谢你。
怎样才能得到这个
var myString = 'a,b';
以下以最有效的方式
var myObject = { a:1, b:1};
我需要 1 与每个参数相关联。谢谢你。
假设您的字符串确实定义为
var myString = 'a,b';
那么你可以得到你的对象
var obj = {};
var t = myString.split(',');
for (var i=0; i<t.length; i++) obj[t[i]] = 1;
这将使 obj 就像
var obj = { a:1, b:1};
请注意,我没有达到您的目标,因此这可能没用...
旁白:
JSON 是一种用于数据交换的文本格式。没有什么能比得上 JSON 对象。{ a:1, b:1}
只是一个具有两个属性的普通 javascript 对象。
如果你想要的是真正的 JSON,你可以这样做
var myJSON = JSON.stringify(obj);
Tis 相当于
var myJSON = '{"a":1,"b":1}';
var myString = a,b;
不做你认为它做的事。
它设置的内容myString
等于a
和b
作为 a的值undefined
。
做你想做的事,只需写下:
var myJSON = { a:1, b:1};
和p00f,它只是工作。
以上适用于OP的忍者编辑之前。
您可以为此使用.split()
和。.reduce()
var result = myString.split(',')
.reduce(function(obj, key) {
return obj[key] = 1, obj;
}, {});
对于较旧的 JavaScript 实现,您需要一个 shim。