【问题标题】:Convert object with arrays to new objects and attach it将带有数组的对象转换为新对象并附加它
【发布时间】:2021-08-26 17:38:03
【问题描述】:

我将这个打字稿对象转换:

api:{
  accessToken:[user1::aaaaa,user2::bbbbb],
accessSecret:[user1:aaaaa,userb::bbbbb]
}

我将用 :: 符号分割数组内的字符串。

Finish 对象应如下所示

api:{
accessToken:[user1::aaaaa,user2::bbbbb],
accessSecret:[user1:aaaaa,userb::bbbbb],
user1_access:aaaaa,
user2_access:bbbbb,
user1_secret:aaaaa,
user2_secret:bbbbb
}

在打字稿中没有编译错误的最佳解决方案是什么,请帮助。

【问题讨论】:

  • 我会在结果数组上使用Object.keys(api).reduce 的组合来累积您要查找的输出。我建议向社区展示您的尝试,因为我们通常不会只为没有表现出努力的问题编写代码解决方案。请查看发布指南。
  • 如果我之前没有尝试过,我不会在这里发布它
  • 这个答案看起来可以解决与您所要求的问题类似的问题。 stackoverflow.com/questions/58577284/…

标签: javascript arrays typescript object split


【解决方案1】:

这是一个示例,可让您了解如何进行操作,

const api = {
  accessToken:["user1::aaaaa","user2::bbbbb"],
  accessSecret:["user1::xxxx","user2::yyyy"]
};

const newApiObj: any = {};

const accessTokenvalues = api.accessToken.map(x => x.split("::")) ?? [];
for(const item of accessTokenvalues){
  newApiObj[item[0] + '_access'] = item[1];
}

const accessSecretvalues = api.accessSecret.map(x => x.split("::")) ?? [];
for(const item of accessSecretvalues){
  newApiObj[item[0] + '_secret'] = item[1];
}

console.log(newApiObj);

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 2023-02-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2013-05-18
    • 1970-01-01
    • 2019-12-27
    • 2020-06-15
    相关资源
    最近更新 更多