Organize a matrix

Asked

Viewed 65 times

1

I have an array containing 16 objects, each object has the title, and definition attributes. I need to put inside each object in the definition attribute,.

    [{
    titulo: universo,
    definicao:["(Física) a totalidade da matéria e da energia existentes no espaço e no tempo, tudo o que existe, o todo"],
["todas as possibilidades em uma dada situação"]}]

That at all positions of my array that contains the objects, to do so, I identified a pattern where contains the data of the definitions,

e.lists[0].forEach(function(a,b){
                // console.log(e.lists[0][b].text);
                    if(e.lists[0][b].text.match(/(^[0-9]{1,}\))|\#\s/)){
                       definicoes.push(e.lists[0][b].text);
                    }
                });

But I couldn’t create a logic in which to input the data in a way that would look something like:

[{
titulo:'titulo1'
definicao:['definicoes do titulo 1']},
{
titulo:'titulo2'
definicao:['definicoes do titulo 2']},
{
titulo:'titulo3'
definicao:['definicoes do titulo 3']},
{
titulo:'titulo4'
definicao:['definicoes do titulo 4']}]

Follow the full code

var fs              = require("fs");
var parser          = require("fast-xml-parser");
var wtf             = require("wtf_wikipedia");
var textos          = [];
var objetos         = [];
var titulos         = [];
var definicoes      = [];




fs.readFile("wiktionary.part_11.xml",function(erro,xml){
     var ob         = parser.getTraversalObj(xml);
     var json       = parser.convertToJson(ob);
    // console.log(json.mediawiki.page[1].title);

    json.mediawiki.page.forEach(function(v,i){
        textos[i]   = wtf(v.revision.text).json();  
        titulos[i] = v.title;
    }); 
    textos.forEach(function(elem,indice){
        objetos[indice] = {};



        elem.sections.forEach(function(e,i){
            if(e.hasOwnProperty('paragraphs')){
                    e.paragraphs.forEach(function(ele,ind){
                         //console.log(ele,indice);

                         ele.sentences.forEach(function(d,info){

                            if(d.text.match(/(\# \w{2,})|(\[0-9]{1,})|(, \#)\) /i)){
                                console.log(d.text);
                            }
                         });
                    });
            }if(e.hasOwnProperty('templates')){
                    //console.log(textos[indice].sections[i].templates," templates",indice);
            }if(e.hasOwnProperty('lists')){

                e.lists[0].forEach(function(a,b){
                // console.log(e.lists[0][b].text);
                    if(e.lists[0][b].text.match(/(^[0-9]{1,}\))|\#\s/)){
                       definicoes.push(e.lists[0][b].text);
                    }
                });

            }
        });
 });
    objetos.forEach(function(ele,ind){
         ele[ind] = [];
         ele[ind].titulo        = titulos[ind];
         ele[ind].definicao     = [];

    });

    console.log(definicoes);


}); 

1 answer

0

By doing it this way

var fs              = require("fs");
var parser          = require("fast-xml-parser");
var wtf             = require("wtf_wikipedia");
var textos          = [];
var objetos         = [];
var titulos         = [];
var definicoes      = [];




fs.readFile("wiktionary.part_11.xml",function(erro,xml){
     var ob         = parser.getTraversalObj(xml);
     var json       = parser.convertToJson(ob);
    // console.log(json.mediawiki.page[1].title);

    json.mediawiki.page.forEach(function(v,i){
        textos[i]   = wtf(v.revision.text).json();  
        titulos[i] = v.title;
    }); 
    textos.forEach(function(elem,indice){
        objetos[indice]         = {};
        definicoes[indice]      = [];


        elem.sections.forEach(function(e,i){
            if(e.hasOwnProperty('paragraphs')){
                    e.paragraphs.forEach(function(ele,ind){
                         //console.log(ele,indice);

                         ele.sentences.forEach(function(d,info){

                            if(d.text.match(/(\# \w{2,})|(\[0-9]{1,})|(, \#)\) /i)){
                               // console.log(d.text);
                            }
                         });
                    });
            }if(e.hasOwnProperty('templates')){
                    //console.log(textos[indice].sections[i].templates," templates",indice);
            }if(e.hasOwnProperty('lists')){

                e.lists[0].forEach(function(a,b){
                 //console.log(e.lists[0][b].text);
                    if(e.lists[0][b].text.match(/(^[0-9]{1,}\))|\#\s/)){
                       definicoes[indice].push(e.lists[0][b].text);
                    }
                });

            }
        });
 });
    objetos.forEach(function(ele,ind){
         ele[ind] = [];
         ele[ind].titulo        = titulos[ind];
         ele[ind].definicao     = [];
         ele[ind].definicao     = definicoes[ind];
         console.log(ele);

    });




}); 

And I got the following result:

{ '0':
   [ titulo: 'adulto',
     definicao: [ '1) diz-se do indivíduo que atingiu a maturidade do desenvolvimento fisiológico, intelectual e/ou emocional, em torno dos vinte anos de idade',
       '2) diz-se do indivíduo que atingiu a maioridade legal' ] ] }
{ '1':
   [ titulo: 'universo',
     definicao: [ '1)  a totalidade da matéria e da energia existentes no espaço e no tempo, tudo o que existe, o todo',
       '2) todas as possibilidades em uma dada situação',
       '3) o mundo, a Terra e a humanidade',
       '4)  o conjunto que engloba todos os elementos possíveis' ] ] }
{ '2':
   [ titulo: 'metafísica',
     definicao: [ '1) campo de estudo da filosofia que trata da natureza fundamental da realidade e do ser',
       '2) aquilo que está além da física, e por conseguinte, do mundo natural' ] ] }
{ '3':
   [ titulo: 'laranja',
     definicao: [ '1) que tem a cor da laranja, cor-de-laranja',
       '2) * A moça usava um vestido laranja.',
       '1) fruto cítrica da laranjeira, cuja cor característica é o laranja',
       '2) a cor da laranja, mistura do amarelo com o vermelho',
       '3)  intermediário cujo nome é usado em transações corruptas',
       '4) * Prenderam os laranjas, mas os ladrões continuam soltos.' ] ] }
{ '4':
   [ titulo: 'minuto',
     definicao: [ '1) período de tempo correspondente a 60 segundos',
       '2) unidade de medida angular correspondente a 1/60 de um grau' ] ] }
{ '5':
   [ titulo: 'homem',
     definicao: [ '1)  o mesmo que ser humano',
       '2)  a espécie Homo sapiens',
       '3)  indivíduo adulto do sexo masculino, varão da espécie Homo sapiens',
       '4)  um tipo de primata bípede e bímano da espécie Homo Sapiens' ] ] }
{ '6':
   [ titulo: 'elemento',
     definicao: [ '1) aquilo que é simples',
       '2) o que se pensa impossível de decompor',
       '3) o que é um componente de um todo',
       '4) matéria-prima',
       '5) meio preferido ou natural',
       '6) * Ele está no seu elemento.',
       '7)  substância simples com número atómico bem determinado',
       '8)  o fogo, a água, o ar e a terra, tidos em tempos como os constituintes do Universo',
       '9)  os conhecimentos tidos como básicos, introdutórios, essenciais de um ramo de saber',
       '10)  princípios; rudimentos',
       '11) pessoa',
       '12) ser, animal' ] ] }
{ '7':
   [ titulo: 'άνθρωπος',
     definicao: [ '1) ser humano; gente',
       '2) a espécie Homo sapiens sapiens',
       '3) indivíduo adulto do sexo masculino, varão, homem' ] ] }
{ '8': [ titulo: 'auxologia', definicao: [] ] }
{ '9': [ titulo: 'zigoto', definicao: [] ] }
{ '10': [ titulo: 'stomachache', definicao: [] ] }
{ '11':
   [ titulo: 'account',
     definicao: [ '1) conta',
       '2) * Take into account. <small>(Levar em conta)</small>',
       '3) * Have into account. <small>(Ter em conta)</small>',
       '4) relato' ] ] }
{ '12': [ titulo: 'adept', definicao: [] ] }
{ '13': [ titulo: 'adherent', definicao: [] ] }
{ '14':
   [ titulo: 'albeit',
     definicao: [ '1) se bem que, embora, muito embora, não obstante:' ] ] }
{ '15':
   [ titulo: 'aqui',
     definicao: [ '1) lugar onde situa-se o interlocutor',
       '2) * Sempre passamos por aqui.',
       '3) para o local onde situa-se o interlocutor',
       '4) * Venha aqui!' ] ] }

Browser other questions tagged

You are not signed in. Login or sign up in order to post.