我有一个本地 jsonnet 对象定义如下:
local compactRules = {
key1: "val1",
key2: "val2",
key3: "val3"
};
我想生成这个数组:
[
{
rule: "key1",
action: "val1",
},
{
rule: "keyk2",
action: "val2"
}
// ...
]
我很惊讶std.mapWithKey
没有交付。文档没有提到任何关于输出格式的内容,我仍然对它的行为感到困惑:
std.mapWithKey(function(key_name, value) {
rule: key_name,
action: value
}, compactRules)
产量:
{
"key1": {
"action": "val1",
"rule": "key1"
},
"key2": {
"action": "val2",
"rule": "key2"
},
"key3": {
"action": "val3",
"rule": "key3"
}
}
如果我已经在函数中处理了自己的键,为什么它会使用结果对象中的原始键?
我不会这么不满意,除非有一个std.objectValues
函数,它可以只返回所有字段的值,作为一个数组 - 即我感兴趣的数组。