微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用迭代器进行对象理解

如何解决使用迭代器进行对象理解

我有一个像这样的给定对象 renameByName

{
  fieldA: 'foo',fieldB: 'bar'
}

并且我想将其转换为一个对象,该对象应该按索引对字段进行排序:

{
  fieldA: 0,fieldB: 1,}

我的想法:

      {
        [key]: 0,for key in std.objectFields(renameByName)
      }

那会产生:

{
  fieldA: 0,fieldB: 0,}

完整参考代码

  organizeTransformation(renameByName):: {
    id: "organize",options: {
      excludeByName: {},indexByName: {
        [key]: 0,for key in std.objectFields(renameByName)
      },renameByName: renameByName,},

我的问题:

因为 Jsonnet 没有用于循环的迭代器,所以我不确定如何在这里使用计数器?

解决方法

我找到了一个解决方法:

  organizeTransformation(renameByName):: {
    local keys = std.objectFields(renameByName),id: "organize",options: {
      excludeByName: {},indexByName: {
        [keys[i]]: i,for i in std.range(0,std.length(keys) - 1)
      },renameByName: renameByName,},

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。