У меня есть код [ 1, 2, 3, fn(), 7, 8 ]
fn делает следующее:
fn(){ return [ 5, 6 ] }
К какому оператору обратиться по fn() звонку, чтобы получить:
[ 1, 2, 3, 5, 6, 7, 8 ]
вместо:
[ 1, 2, 3, [ 5, 6 ], 7, 8 ]
Конечно можно сделать:
[ 1, 2, 3, fn(), 7, 8 ].flat()
Но в этом случае сплющиваются и другие элементы. Мне нужно сгладить Только для fn()



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


flatMap() возвращает значения функции обратного вызова для каждого элемента входного массива в виде массива, который затем возвращается сведенным. Например, обратный вызов может возвращать следующее:
В демонстрации, если значение является массивом, оно будет возвращено как есть, иначе оно будет возвращено внутри массива. По сути, все значения будут возвращены из обратного вызова в виде массива, который, в свою очередь, будет сглажен.
const fn = () => [5, 6];
let array = [1, 2, 3, 4, fn(), 7, 8];
const result = array.flatMap(node => Array.isArray(node) ? node : [node]);
console.info(result);
Мне нужно сглаживание только для
fn(). Не желательноflatвторой элемент, если это[2]