0

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

4

1 回答 1

0

我找到了解决方法:

  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,
    },
  },
于 2021-07-19T11:48:57.227 回答