typescript 基于分隔符字符转换对象列表中的字符串

u3r8eeie  于 2023-03-24  发布在  TypeScript
关注(0)|答案(2)|浏览(232)

我试图转换一个字符串,我从一个base64解密。
比如:
“gmail.com“
在:
[ {user:“123”,age:35,email:“user123@gmail.com”} ]

slsn1g29

slsn1g291#

#拆分,将对减少到Map,转换为对象。

const parseHash = (hash, mapper = {}) =>
  Object.fromEntries(hash.split('#').reduce((map, pair) =>
    (([k, v]) =>
      map.set(k, mapper[k] ? mapper[k](v) : v))
    (pair.split('@')), new Map));

console.log(parseHash('user@123#age@35#email@user123@gmail.com', { age: Number }));

输出

{
  "user": "123",
  "age": 35,
  "email": "user123"
}
wvmv3b1j

wvmv3b1j2#

我用分裂法解决了。

var decryptedHash = atob(selectedHash.hash).split('#');

    let i = 1;

    var obj = {
       'keyname': decryptedHash[0]?.split('@')[i],
       'keyname': decryptedHash[1]?.split('@')[i],
       
    }

不是一个天才的解决方案,但能完成工作。

相关问题