例如:obj['a.b.c']
不可以, 但是可以写个方法:
let obj = { a: { b: { c: 'value' } }};let key = 'a.b.c';let value = key.split('.').reduce((acc, cur) => acc && acc[cur], obj);console.log(value);
原生不支持,可以用 lodash
https://www.lodashjs.com/docs/lodash.get
当然可以。在JavaScript中,你可以使用方括号([]
)语法来通过字符串访问对象的属性。例如,如果你有一个对象如下:
var obj = { a: { b: { c: "value" } }};
你可以使用字符串 "a.b.c"
来获取 "value"
,如下所示:
var path = "a.b.c";console.log(obj[path]); // 输出 "value"
在这个例子中,obj['a.b.c']
等价于 obj['a']['b']['c']
。如果你尝试访问不存在的属性,JavaScript会返回 undefined
。
在一个场景中,数据只能通过字符串传输,需要传文件或二进制对象时就比较麻烦。 目前使用将文件编码为base64传输,但是这种方式会时传输的数据增大(50K的文件编码后为80K)。测试使用浏览器的TextDecoder将文件编码为iso-8859-1,可以保持编码后字符串的大小和原文件一样,但是再转回文件时就转不回来了(TextEncoder只支持utf-8) 编码: ====更新===== 现通过以
有什么工具能把 js 字符串的链式访问符 转换成 es5 形式? 我有个在线编辑工具,当我写 const name = data?.name 就报错 我如何把这个字符串转换成 const name = data && data.name 这种形式? 大致看到了 babel 的网站 https://babeljs.io/docs/usage 但是没有找到具体的使用 api... 给它一个字符串帮我转
我有一个密码字段,我需要使用javascript检查它是否有以下字符: ! @ # $ % ^ 我试着这样做,结果正如预期的那样: 有没有更简单/有效的方法来做到这一点?
根据不同的值,判断应该用什么元素,大佬们有什么方法优化一下呀
问题内容: 我试图从一个较大的字符串中提取一个字符串,使它在’:’和’;’之间得到一切。 当前 期望的输出 问题答案: 你可以试试这个
我试图使这个printf工作,但我不断得到一个异常抱怨第一个'%'运算符。我像这样多次使用printf,从来没有出现过问题。我正在使用Eclipse。 为什么我的陈述不起作用,我如何让它起作用? 在第18行,第二个用于表示文本 (不一定是程序中的实际代码) 免责声明:这是一个家庭作业,但我已经为它写好了完整的代码。我只需要克服这个错误,并得到我的老师的许可,就可以发布这样的问题。