Оригинал на GitHub
Вопрос
Подскажите, пожалуйста, в какую сторону думать.
Есть многомерный массив вида:
[
{
a = 12,
b = [1,2,3]
},
{
a = 25,
b = [8,2]
},
]
Нужно его привести к виду:
[
{
a = 12,
b = 1
},
{
a = 12,
b = 2
},
{
a = 12,
b = 3
},
....
]
На ум приходит два цикла друг в друге, но тогда нужна какая-то переменная, которая бы копила значения массива, а не перезаписывала.
Или логика должна быть совсем другая?
Ответ
Это делается так:
= : listTrain(list: $replace)
replace: listReplace(list: #h_data; action: $new_val; value: "value")
new_val: rowListCreate(field: "a" = $#value[a]; field: "b" = $#value[b])
В h_data
исходные данные. Результат:
[
{
"a": "12",
"b": "1"
},
{
"a": "12",
"b": "2"
},
{
"a": "12",
"b": "3"
},
{
"a": "25",
"b": "8"
},
{
"a": "25",
"b": "2"
}
]