相关疑难解决方法(0)

将点符号中的JavaScript字符串转换为对象引用

给定一个JS对象

var obj = { a: { b: '1', c: '2' } }
Run Code Online (Sandbox Code Playgroud)

和一个字符串

"a.b"
Run Code Online (Sandbox Code Playgroud)

如何将字符串转换为点符号,以便我可以去

var val = obj.a.b
Run Code Online (Sandbox Code Playgroud)

如果字符串只是'a'我可以使用,'a'但这更复杂.我想有一些简单的方法,但它目前逃脱了.

javascript

188
推荐指数
13
解决办法
10万
查看次数

Javascript虚线对象键到对象

如何将带点的键转换为 javascript 对象并保留它的值?

所以我从一个 API 得到了这种响应,我需要通过 key: value 来解析它。

{
  "property": "personal_info.address.city",
  "description": "Missing field"
},
{
  "property": "personal_info.address.country",
  "description": "Missing field"
},
Run Code Online (Sandbox Code Playgroud)

所以我实现了这个:

{
    'personal_info.address.city': 'Missing field',
    'personal_info.address.country': 'Missing field'
}

// by using this code (lodash)

_.mapValues(_.keyBy(obj, 'property'), function(o) {
  return o.description;
})
Run Code Online (Sandbox Code Playgroud)

但是,我需要它是这样的:

{
    personal_info: {
        address: {
            city: 'Missing field',
            country: 'Missing field',
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我以某种方式在 stackoverflow 中搜索了如何将点符号字符串转换为对象: Convert string with dot notation to JSON

但我被卡住了,因为我正在更改密钥本身。

编辑:更改了测试城市和测试国家以反映描述字段(抱歉)

javascript lodash

5
推荐指数
2
解决办法
3984
查看次数

标签 统计

javascript ×2

lodash ×1