【问题标题】:How does one return the object values only from each object of an array of objects?如何仅从对象数组的每个对象返回对象值?
【发布时间】:2021-11-29 19:23:01
【问题描述】:

所以我正在运行一个 NodeJS 无服务器实例,使用 Knex.js 作为我的数据库中间件。当尝试将请求中的值返回给 Knex 时,我总是得到[ { vrn: 'xx12xyz' } ]。我试过使用 Object(),有没有人有一个快速的单行或小辅助函数可以帮助我将其展平为一个直接数组,以便我可以挑选出这个值?

这是我正在使用的代码:

const vrnList = await db('vehicles').select('vrn').where('id', '=', '1');
    console.log("The quick car with the VRN ", Object.values(vrnList), " overtook me on the freeway");

TL;DR:从值中拆分对象和数组 id

【问题讨论】:

    标签: javascript arrays mapping javascript-objects return-value


    【解决方案1】:

    试试这个:

    let onlyValues = vrnList.map(result => result.vrn);
    

    【讨论】:

      【解决方案2】:

      由于 OP 似乎通过返回值数组的 Object.values 检索不可知的值键,因此 OP 还需要使用 flatMap ...

      vrnList.flatMap(item => Object.values(item))
      

      console.log(
        [ { vrn: 'xx12xyz' } ].flatMap(item => Object.values(item))
      );
      console.log(
        [
          { vrn: 'xx12xyz' },
          { vrn: 'xx98abc' },
          { vrn: 'yy34xyz' },
        ].flatMap(item => Object.values(item))
      );
      .as-console-wrapper { min-height: 100%!important; top: 0; }

      【讨论】:

      • 全部修复 - 谢谢。我留下了一个数组,但使用toString() 函数修复了它。谢谢!
      • @JPA ...也许 OP 考虑就问题的解决方式给出自己的答案。我个人怀疑提供的数据结构上的toString 实际上是解决所有问题所需的唯一东西。
      • 不,我的意思是你的答案,与 toString() 合作,使它工作
      • @JPA ... “不,我的意思是你的回答,与 toString() 合作,使它起作用了” ... 很高兴听到。在 SO,得到帮助的人接受对解决 OP 的问题最有帮助的答案被认为是一种很好的姿态。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2022-01-13
      • 2020-03-30
      • 1970-01-01
      • 2020-07-06
      • 1970-01-01
      相关资源
      最近更新 更多