• javascript:如何循环遍历内部具有多个数组的两个对象以获得我想要的值?


    问题描述:

        我正在尝试遍历两个 API 响应。然后我想将这两个结果组合成一个数组,然后循环遍历它得到TransactionType,这就是我想要的值。我是循环播放的菜鸟,它正在显示。API 结果如下所示:

    到目前为止,我只是尝试循环遍历我的代码,

    1. private async sortTransactiontypes() {
    2. const customTypes = await API(this.params1);
    3. const defaultTypes = await API(this.params2);
    4. const customKey = Object.values(customTypes);
    5. const defaultKey = Object.values(defaultTypes);
    6. for (const key in customKey) {
    7. console.log(JSON.stringify(`${key}: ${customKey[key]}`));
    8. }
    9. }

       但我不断收到“0:[object Object],[object Object],[object Object]”错误。

    解决思路一:

        这不是错误,它只是将数组转换为字符串后得到的输出。为了说明我在我的 Node.js CLI 中尝试了以下内容:

    1. > let arr = [{one: 'one'}, {two: 'two'}]
    2. undefined
    3. > console.log(arr)
    4. [ { one: 'one' }, { two: 'two' } ]
    5. undefined
    6. > console.log(`${arr}`)
    7. [object Object],[object Object]

        正如您所看到的,记录数组会产生您想要的输出,但是当您使用模板字符串将对象数组包围起来时,数组中的每个对象都会被转换为通用表示[object Object]

        常规的旧 console.log 在输出完整的对象数组方面要好一些,但如果你将对象嵌套得太深,你会得到类似的效果:

    1. > arr = [{obj: {nested: {another: 'obj'}}}, {nested: false}]
    2. [ { obj: { nested: [Object] } }, { nested: false } ]
    3. > console.log(arr)
    4. [ { obj: { nested: [Object] } }, { nested: false } ]
    5. undefined

        尝试删除反引号,或者在 JSON 中获取整个对象的完整表示,请执行以下操作:

    1. for (const key in customKey) {
    2. console.log(JSON.stringify({key: customKey[key]}));
    3. }

        从那里查看您的终端输出,我无法 100% 判断,但在我看来,您想从customTypes变量中获取对象并将这些对象组合成一个更长的列表?像这样的东西应该可以解决问题:

    1. const arr = [];
    2. for (const key in customTypes) {
    3. arr.push(customTypes[key], ...defaultTypes[key]);
    4. }
    5. // now you have an array of objects so ...
    6. const transactions = arr.map(o => o.TransactionType);

    解决思路二(这是解决小编问题的思路)

    以上仅为部分解决思路,添加下方公众号后回复001,即可查看全部内容。公众号有许多评分最高的编程书籍和其它实用工具,无套路,可放心使用

    如果您觉得有帮助,可以关注公众号——立志于成为对程序员有益的公众号

  • 相关阅读:
    如何简单创建一个 react 项目(使用脚手架)
    Spring Security:用户和Spring应用之间的安全屏障
    python爬虫入门(六)BeautifulSoup使用
    HTTP 1.0 和 HTTP 1.1的主要区别
    C++-CGAL5.5.1-功能介绍-全部模块简介-功能相当庞大-需要再去阅读相应模块-模块指南
    Bash变量--环境变量
    springboot的yml配置文件报错细节-Input length
    数组常见算法代码总结
    Atlas2.2.0编译、安装及使用(集成ElasticSearch,导入Hive数据)
    魔域服务端数据库说明
  • 原文地址:https://blog.csdn.net/qq_38334677/article/details/126138090