【问题标题】:Object comprehension with iterator使用迭代器的对象理解
【发布时间】:2021-07-19 11:32:50
【问题描述】:

我有一个给定的对象 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 没有用于循环的迭代器,所以我不确定如何在这里使用计数器?

【问题讨论】:

    标签: jsonnet


    【解决方案1】:

    我找到了解决方法:

      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,
        },
      },
    

    【讨论】:

      猜你喜欢
      • 2016-09-08
      • 2021-02-05
      • 1970-01-01
      • 2017-09-21
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 2017-12-18
      • 2022-01-20
      相关资源
      最近更新 更多