Pesquisa de site

javascript - Typescript array foreach com função push (Angular)


Eu tenho um array:

data
    Array
    (
    [0] => Array
        (
            [name0] => J
            [name1] => L
            [name2] => C
        )

    [1] => Array
        (
            [data0] => 3,1,3
            [data1] => 5,3,2
            [Nu0] => 3,0,0
            [Nu1] => 1,1,1
        )

)

Eu preciso empurrar os dados para outro array

this.datas.push({'name':'A','data':(data[1].data0).'color':'#00000'}); 
this.datas.push({'name':'C','data':(data[1].Nu0).'color':'#00000'}); 
this.datas.push({'name':'B','data':(data[1].data1).'color':'#FFFFF'}); 
this.datas.push({'name':'D','data':(data[1].Nu1).'color':'#FFFFF'}); 
this.namedatas.push(data[0].name0);
this.namedatas.push(data[0].name1);

Como usar a função de loop para fazer isso? E o que fazer se eu tiver mais dados?

Resposta #1

No seu caso, sugiro que você use uma função map ou filter:

metadas = datas.map((el) => {
    return el.name;
});

Neste caso, no array metadatas você terá todos os nomes contidos no array datas.

Resposta #2

Você pode fazer facilmente como abaixo, neste exemplo vamos empurrar dados do primeiro array items para o segundo array newItems:

Como se este fosse seu primeiro array items:

const items = ['item1', 'item2', 'item3']

Este é o seu segundo array newItems:

const newItems = []

Aqui está sua solução:

items.forEach(function(item){
  newItems.push(item)
})