Тема: AHK: array flat
Пытаюсь сделать из массива:
[1, 2, [1, 3]]
Массив:
[1, 2, 1, 3]
Но что-то я подтупливаю:
arrayFlat(arr)
{
newArr := []
for i, v in arr
{
newArr.Push(IsObject(v) ? arrayFlat(v) : v)
}
return newArr
}
UPD: Получилось что-то такое, как можно улучшить?
arrayFlat(arr, result := "")
{
if (!result)
{
result := []
}
for k, v in arr
{
if (isObject(v))
{
arrayFlat(v, result)
}
else
{
result.Push(v)
}
}
return result
}
Win10: LTSC (21H2); AHK: ANSI (v1.1.36.02)