Вы также можете попробовать код ниже.Здесь я только что попытался получить вывод, который вы хотите.
Если у вас есть больше данных в разных формах, то в этом случае вам нужно будет изменить код на основе вашего целевого результата.
Примечание: Здесь вы используете Typescript, и мой ответ на чистом JavaScript (Node.js), поэтому, пожалуйста, не забудьте указать тип переменных в список параметров или инициализация операторы типа function(item){...}
до function(item: number){...}
и т. д.
var storedNames = [1,2,3];
var mod = {id: 3, blocList: [{id:11}, {id:12}]};
var storedNames = storedNames.map(function(item) {
if(item === mod.id) {
var bArr = [item]; // [3]
var cArr = mod.blocList.map((bloc) => {
return(bloc.id); // Returning 11 and 12 one after one
});
bArr = bArr.concat(cArr);
// console.log(cArr); /* [ 11, 12 ] */
// console.log(bArr); /* [ 3, 11, 12 ] */
return bArr;
}
return item; // Returning 1 and 2 one after one
})
console.log(storedNames); // [ 1, 2, [ 3, 11, 12 ] ]
//Finally
storedNames = storedNames.concat(storedNames.splice(storedNames.length - 1, 1)[0]);
console.log(storedNames); // [ 1, 2, 3, 11, 12 ]