我正在尝试使用split()创建一个对象:
var x = "one two";
var y = x.split(/[^A-Za-z0-9]/)
这给了我一个数组
[one, two]
现在我想使用该数组并使用这些值创建一个对象,例如{之一:2}
以下不起作用:
var z = {};
z.y[0] = y[1];
任何人都可以帮助我吗?
答案 0 :(得分:1)
问题是您的代码尝试在对象y
(不存在)上获取属性z
,然后尝试将该值用作数组并将其第一个元素设置为y[1]
。显然,z.y
不是数组,而是undefined
,所以它失败了。
您需要使用数组访问表示法:
z[y[0]] = y[1];
这将使用y[0]
作为键,而不是按字面解释它。