本文翻译自:JavaScript set object key by variable [duplicate]

This question already has answers here : 这个问题已经在这里有了答案 :
How to use a variable for a key in a JavaScript object literal? 如何在JavaScript对象文字中使用变量作为键? (12 answers) (12个答案)
How do I create a dynamic key to be added to a JavaScript object variable [duplicate] (2 answers) 如何创建要添加到JavaScript对象变量的动态键[重复] (2个答案)
Closed 5 years ago . 5年前关闭。

I am building some objects in JavaScript and pushing those objects into an array, I am storing the key I want to use in a variable then creating my objects like so: 我正在用JavaScript构建一些对象并将这些对象推入数组,将要使用的键存储在变量中,然后像下面这样创建对象:

var key = "happyCount";
myArray.push( { key : someValueArray } );

but when I try to examine my array of objects for every object the key is "key" instead of the value of the variable key. 但是,当我尝试检查每个对象的对象数组时,键是"key"而不是变量键的值。 Is there any way to set the value of the key from a variable? 有什么方法可以通过变量设置键的值吗?

Fiddle for better explanation: http://jsfiddle.net/Fr6eY/3/ 小提琴以获得更好的解释: http : //jsfiddle.net/Fr6eY/3/


#1楼

参考:https://stackoom.com/question/mHsN/JavaScript通过变量设置对象键-重复


#2楼

You need to make the object first, then use [] to set it. 您需要先创建对象,然后使用[]进行设置。

var key = "happyCount";
var obj = {};
obj[key] = someValueArray;
myArray.push(obj);

UPDATE 2018: 更新2018:

If you're able to use ES6 and Babel, you can use this new feature: 如果您能够使用ES6和Babel,则可以使用此新功能:

{[yourKeyVariable]: someValueArray,
}

#3楼

Try something like this (check ES6 example at the end of answer) 尝试这样的事情(在答案末尾查看ES6示例)

var yourObject = {};yourObject[yourKey] = "yourValue";console.log(yourObject );

example: 例:

var person = {};
var key = "name";person[key] /* this is same as person.name */ = "John";console.log(person); // should print  Object { name="John"}
  var person = {}; var key = "name"; person[key] /* this is same as person.name */ = "John"; console.log(person); // should print Object { name="John"} 

In ES6, you can do like this. 在ES6中,您可以这样做。

var key = "name";
var person = {[key]:"John"};
console.log(person); // should print  Object { name="John"}
  var key = "name"; var person = {[key]:"John"}; console.log(person); // should print Object { name="John"} 

JavaScript通过变量设置对象键[重复]相关推荐

  1. JavaScript 使用变量访问对象属性

    中括号操作符的另一个使用方式是用变量来访问一个属性.当你需要遍历对象的属性列表或查表时,这种方式极为有用. 这有一个使用变量来访问属性的例子: var someProp = "propNam ...

  2. 测试嵌套JavaScript对象键的存在

    如果我有一个对象的引用: var test = {}; 可能(但不是立即)具有嵌套对象,例如: {level1: {level2: {level3: "level3"}}}; 检查 ...

  3. Javascript重命名对象键

    在JavaScript中,对象用于存储各种数据的集合,是属性的集合:属性是一个"key:value"对.其中key(键)称为"属性名",用于标识值. 方法一:通 ...

  4. JavaScript之变量对象

    前言 在上篇<JavaScript之执行上下文栈>中讲到,当 JavaScript 代码执行一段可执行代码(executable code)时,会创建对应的执行上下文(execution ...

  5. JavaScript中的对象比较[重复]

    本文翻译自:Object comparison in JavaScript [duplicate] This question already has answers here : 这个问题已经在这里 ...

  6. java同名变量在list中添加两次_去除集合中自定义对象的重复值(对象的成员变量值都相同)...

    package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:去除集合中自定义对象的重复值( ...

  7. 用友修改了变量不能连接到服务器,用友T3客户端登录提示 运行时错误91:未设置对象变量...

    近日使用的用友T3财务软件的T3中碰到一个问题: T3客户端登录提示 运行时错误91:未设置对象变量或with block 变量 详细的问题情况是这样的: T3客户端登录提示 运行时错误91:未设置对 ...

  8. JavaScript设置对象的不可拓展

    一般来说,默认情况下,对象都是可拓展的,我们可以为其属性进行增删改等操作,也可以更改他们原型的指向,如何让一个对象变得不可拓展呢,我们可以使用ES5提供的几个方法,来保证锁定的对象是不可拓展的 Obj ...

  9. java同名变量在list中添加两次_快速解决List集合add元素,添加多个对象出现重复的问题...

    首先我们在new 一个对象的时候,对象的id是唯一确定的:将对象add入list中时,放入list中的其实是对象的引用 :而每次循环只是简单的set 对象的属性,set新的属性值,而add进list中 ...

最新文章

  1. 奇异值分解SVD和偏最小二乘奇异值分解PLSSVD
  2. ms speech sdk51 TTS使用
  3. Gym101128F:Landscaping
  4. [html] marquee详解
  5. Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】
  6. 《操作系统实现之路》源代码下载路径及求助途径
  7. python读取文件_一日一技:使用Python读取Excel文件
  8. VsDoc for jQuery
  9. 北斗GNSS无人巡检车辆的高精度定位定向应用方案
  10. java读文件在页面输出_Java读取html页面以文件流方式输出显示在页面
  11. ubuntu桌面被删除或home文件跑到桌面问题
  12. pytorch深度学习框架--gpu和cpu的选择
  13. linux下tshark安装及应用
  14. 阿里速度!100亿脱贫基金第一个项目落地
  15. JKNetworking完整文档
  16. 添加底图&切换底图——参考ArcGIS API
  17. Mac 电脑安装putty
  18. Jlink v9虚拟串口功能,不用再单独购买串口线了
  19. ubuntu 下安装AMD显卡驱动
  20. 如何学习新概念英语3

热门文章

  1. kettle job如何利用java的反射机制获取执行的sql语句
  2. SetLayeredWindowAttributes 设置窗口透明
  3. 2008年全国计算机等级考试须知及参考资料
  4. Unity3D碰撞触发函数
  5. vue2.0+echarts可视化图形开发中遇到的问题总结
  6. AngularJS2.0教程(一)快速上手之基础知识
  7. 程序员学习视频教程汇总
  8. 关于MVC打印问题,打印指定的内容
  9. 浮动float的一些规则
  10. ecshop 多语言版 fckeditor,支持中文英文韩文等众多语言