假设我们有一种特殊的字符串,其中包含成对的字符,像这样-
const str = "AABBCCDDEE";
我们需要基于此字符串构造一个对象,该字符串应如下所示:
const obj = { code: "AA", sub: { code: "BB", sub: { code: "CC", sub: { code: "DD", sub: { code: "EE", sub: {} } } } } };
请注意,对于字符串中的每个唯一对,我们都有一个新的子对象,并且任何级别的code属性都代表特定的一对。
我们可以使用递归方法解决此问题。我们将递归遍历字符串以选择特定的对并为其分配一个新的子对象
示例
以下是代码-
const str = "AABBCCDDEE"; const constructObject = str => { const res = {}; let ref = res; while(str){ const words = str.substring(0, 2); str = str.substr(2, str.length); ref.code = words; ref.sub = {}; ref = ref.sub; }; return res; }; console.log(JSON.stringify(constructObject(str), undefined, 4));
输出结果
这将在控制台中产生以下输出-
{ "code": "AA", "sub": { "code": "BB", "sub": { "code": "CC", "sub": { "code": "DD", "sub": { "code": "EE", "sub": {} } } } } }
热门文章
- 2月5日→21.1M/S|免费节点Clash/SSR/V2rayC订阅链接地址分享
- 宠康动物医院电话 宠康动物医院电话号码
- 怎样蒸米饭放多少水(米饭怎么蒸才好吃放多少水合适)
- 边牧送养(边牧饲养费用)
- 哪里可以免费领养宠物猫(哪里能免费领养猫咪)
- 2月22日→18.1M/S|免费节点Clash/SSR/V2rayC订阅链接地址分享
- 1月22日→20.8M/S|免费节点Clash/SSR/V2rayC订阅链接地址分享
- 动物医院牌子设计(动物医院牌匾设计)
- 3月21日→18.1M/S|免费节点Clash/SSR/V2rayC订阅链接地址分享
- 1月17日→20.8M/S|免费节点Clash/SSR/V2rayC订阅链接地址分享