Sometimes your JavaScript object may contain a key having spaces between them. As a key can also be a string and a string may contain spaces, it is very much possible that you encounter this problem. Consider the following object,

有时,您JavaScript对象可能包含一个键,它们之间有空格。 由于键也可以是字符串,并且字符串可能包含空格,因此很可能会遇到此问题。 考虑以下对象,

const character= {name: 'Emily',
age: 30,
'Detective Rating': 422
}
console.log(character);

Output

输出量

{name: "Emily", age: 30, Detective Rating: 422}

Let's use the dot notation to access the properties of our object,

让我们使用点符号来访问对象的属性,

console.log(character.name);
console.log(character.Detective Rating);
console.log(character.'Detective Rating');

Output

输出量

Emily
Uncaught SyntaxError: missing ) after argument list
Uncaught SyntaxError: Unexpected string

For regular properties we can easily use the dot notation however for a string property having spaces in between the dot notation doesn't work. Then how do we directly access such properties?

对于常规属性,我们可以轻松地使用点表示法,但是对于在点表示法之间使用空格的字符串属性不起作用 。 那么,我们如何直接访问这些属性?

Remember, there is another way of accessing the object's properties, ie, using the square bracket notation.

请记住,还有另一种访问对象属性的方法,即使用方括号表示法。

console.log(character["name"]);
console.log(character["Detective Rating"]);

Output

输出量

Emily
422

The square bracket notation works for keys having spaces between them since it takes in a string as a parameter. Let's try some more examples,

方括号表示法用于键之间有空格的键,因为它以字符串作为参数。 让我们再尝试一些例子

const instructor={ID: 'EC-203',
subject: 'Electronics',
'Project advisor': 'Digital signal processing documentation',
}
console.log(instructor["Project advisor"]);

Output

输出量

Digital signal processing documentation

Here our instructor object has a key Project advisor with space in between and we access this property using the square bracket notation.

在这里,我们的教师对象有一个关键的项目顾问 ,其间有空格,我们使用方括号表示法访问此属性。

const monsters={'Monster names': ['Sesham','Goku','Samu']
}
console.log(monsters["Monster names"]);

Output

输出量

(3) ["Sesham", "Goku", "Samu"]

Our monsters have a property Monster names with space in between. This is an array and we have accessed this using the square bracket notation.

我们的怪物具有属性怪物名称 ,中间有空格。 这是一个数组,我们已经使用方括号符号访问了此数组。

翻译自: https://www.includehelp.com/code-snippets/how-to-access-an-object-having-spaces-in-the-objects-key-using-javascript.aspx

如何使用JavaScript访问对象的键中有空格的对象?相关推荐

  1. js 去重某个键值 数组对象_js数组去重(包括对象数组去重)

    2019.08.02补: 对象数组建议直接循环然后使用工具库(lodash)的深比较,评论里也有指出,文章的方法有些取巧了 生产环境不要这么玩~. 方法一:利用ES6的Array.from()/扩展运 ...

  2. JavaScript 访问对象属性和方法及区别

    这篇文章主要介绍了浅析JavaScript访问对象属性和方法及区别的相关资料,仅供参考 属性是一个变量,用来表示一个对象的特征,如颜色.大小.重量等:方法是一个函数,用来表示对象的操作,如奔跑.呼吸. ...

  3. 读《JavaScript权威指南》笔记(三)--对象

    1.对象介绍 对象是JavaScript的基本数据类型.对象是一种复合值:它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值.对象也可看做是属性的无序集合,每个属性都是一个名/值对.属性 ...

  4. javaScript核心学习 (二)函数和对象,继承原型链

    javaScript的函数和对象,继承原型链 一.函数 1.初始函数 2.创建函数 2.1 参数设置 2.2 函数声明 来创建函数 2.3 函数表达式创建函数 3.变量作用域 4.匿名函数 5.回调函 ...

  5. javascript原生事件句柄、BOM、DOM对象属性方法总结

    javascript原生事件句柄.BOM.DOM对象属性方法总结 JS事件句柄 事件句柄 类型 说明 onabort 事件句柄 图像加载被中断 onblur 事件句柄 元素失去焦点 onfocus 事 ...

  6. JavaScript从入门到放弃 - ES6中的对象和类

    重点讲解Tab栏切换.增.删.改 1. 面向过程与面向对象 2.ES6 中的对象与类 2.1 对象 2.2 类 2.2.1 创建类 2.2.1.1 语法 2.2.1.2 实例 2.2.2 类创建添加属 ...

  7. javascript访问frame,iframe框架和href的定向

    一.frame 1.父框架到子框架的引用 知道了上述原理,从父框架引用子框架变的非常容易,即: window.frames["frameName"]; 这样就引用了页面内名为fra ...

  8. 深入理解javascript内部原理(2): 变量对象(Variable object)

    本文是翻译Dmitry Soshnikov 的文章 Variable object 文章地址:http://dmitrysoshnikov.com/ecmascript/chapter-2-varia ...

  9. 《你不知道的javaScript》上卷——第二部分——第三章——对象

    文章目录 创建对象的两种方式 文字形式 构造函数的形式 两种方式的区别 类型 内置对象 String.Number.Boolean 有字面量形式和对象形式 装箱 null和undefined 只有字面 ...

最新文章

  1. 转 --有些事情需要注意
  2. [转载] sql server 2000系统表解释
  3. 波士顿动力机器狗新技能!跳绳园艺做家务,还有书法神技
  4. Linux脚本实战之检测网卡流量
  5. 推荐:用动画的形式呈现解LeetCode题目的思路(github上25000多star)
  6. 如何用杠铃策略,构建你的“反脆弱性”
  7. python图像开闭区间_自动开闭器不良故障案例分析
  8. CRM One order里user status和system status的mapping逻辑
  9. css clearfix_如何使用CSS清除浮点数(clearfix)?
  10. 搭建Tomcat云服务器
  11. ubuntu 虚拟机上的 django 服务,在外部Windows系统上无法访问
  12. 【算法】算法求出2个超大正数相加
  13. Qt中实现鼠标作图并且控制每一笔粗细和颜色的方法
  14. MySQL命令窗口下中文显示乱码的解决过程
  15. one loop per thread
  16. python编码转换语句_将“ yield from”语句转换为Python 2.7代码
  17. NLP是百度的核心技术之一
  18. ios12完美深色模式插件_越狱插件(三)
  19. selenium借助pywinauto工具上传附件
  20. dB、dBm、dBw、dBμV、dBmV、dBV、dBv等单位介绍

热门文章

  1. c++生成光栅条纹程序_共享屋:一文让你认识光栅尺和编码器
  2. 只需五步学会Maven 3.6.1OR 3.6.3及其他版本的下载安装与配置【图文详解】
  3. tomcat监控脚本
  4. MYSQL的集群的安装与配置(mysql-5.1.21)
  5. 锁底层之内存屏障与原语指令
  6. 在既有系统中打通Apache Ignite、MySQL和Node.js
  7. linux Postfix + dovecot + extmail + extman + mysql
  8. spark DAGScheduler、TaskSchedule、Executor执行task源码分析
  9. java.util.Date和java.sql.Date 一点区别
  10. 打击侵犯公民个人信息罪的司法困境