使用数组键/值对将JavaScript追加到对象
我有一个动态构建的对象示例:使用数组键/值对将JavaScript追加到对象,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个动态构建的对象示例: obj = {}; obj.prop1 = 'something'; obj.prop2 = 'something'; obj.prop3 = 'something'; 因此,我现在需要从数组中获取一个项,并使用它来定义“propX”的等价项及其值 我想如果我做了类似的事情 obj.[arr[0]] = some_value; 那,那对我有用。但我也认为不会,我得到的错误是语法错误。“在.operator后面缺少名称”。我明白,但我不知道如何解决这个问题。最终的
obj = {};
obj.prop1 = 'something';
obj.prop2 = 'something';
obj.prop3 = 'something';
因此,我现在需要从数组中获取一个项,并使用它来定义“propX”的等价项及其值
我想如果我做了类似的事情
obj.[arr[0]] = some_value;
那,那对我有用。但我也认为不会,我得到的错误是语法错误。“在.operator后面缺少名称”。我明白,但我不知道如何解决这个问题。最终的目标是,使用数组项的值作为对象的属性名,然后使用另一个也在传递的变量定义该属性。我的问题是,我如何实现它,以便将对象的附件视为
obj.array_value = some_variable;
去掉圆点。使用
obj[arr[0]] = some_value;
我建议您阅读MDN。您可以试试
obj[arr[0]] = some_value;
i、 e.去掉圆点:)你几乎是对的,但你只需要去掉圆点。从这一行: obj.[arr[0]]=某个_值 应该读 obj[arr[0]]=某个_值
这将向对象附加一个数组还是将其保留为对象?@chris:它将向对象添加
一些值
,属性名将是arr[0]
的值。也许你们认为括号符号和数组有某种联系,但事实并非如此。这只是访问属性的另一种方式。我应该在示例中提供它。但是有一个硬编码数组,它作为一个索引工作,我们可以随时间附加到它,这样,在以后搜索数组在上下文中提供的所有引用时,我们可以在数组级别而不是整个代码库中对其进行更改。@dystroy感谢您提供的附加引用,我想我会给你一个机会read@Amareswar字体但这是错误的。它将尝试设置存储在obj.arr
中的数组的第一个元素。可能与Felix重复,很好找到。我想这确实构成了我在这里的职位,我是个傻瓜。只是没有找到它,因为我没有想到一个更好的短语来搜索。谢谢,不用担心。事实上,这是一个相当普遍的问题。你可能会在这里发现我的q/a也提供了信息:。