How to get an INT variable (NUMBER) of ionic 2


#1

Hello, lately I’ve been sharing my development progress of a bible in ionic 2, and given a lot of important steps, (I am new to Ionic2).
The question: I am trying to get an object from an array but it has not been able since the objects is a number.
If I change the numbers by words (String) I do it perfectly but the idea is to use the numeors
String access result

[
    {
        "abbrev": "gn",
        "book": "Genesis",
        "chapters": [
            {
                "uno": {
                    "uno": "EN el principio creó Dios los cielos y la tierra.",
                    "dos": "Y la tierra estaba desordenada y vacía, y las tinieblas estaban sobre la haz del abismo, y el Espíritu de Dios se movía sobre la haz de las aguas.",
                    "tres": "Y dijo Dios: Sea la luz: y fué la luz.",
                    "cuatro": "Y vió Dios que la luz era buena: y apartó Dios la luz de las tinieblas.",
                    "cinco": "Y llamó Dios á la luz Día, y á las tinieblas llamó Noche: y fué la tarde y la mañana un día.",
                    "seis": "Y dijo Dios: Haya expansión en medio de las aguas, y separe las aguas de las aguas.",
                    "siete": "E hizo Dios la expansión, y apartó las aguas que estaban debajo de la expansión, de las aguas que estaban sobre la expansión: y fué así.",
                    "ocho": "Y llamó Dios á la expansión Cielos: y fué la tarde y la mañana el día segundo.",

I want to try to get the text out this way:

[
    {
        "abbrev": "gn",
        "book": "Genesis",
        "chapters": [
            {
                "1": {
                    "1": "EN el principio creó Dios los cielos y la tierra.",
                    "2": "Y la tierra estaba desordenada y vacía, y las tinieblas estaban sobre la haz del abismo, y el Espíritu de Dios se movía sobre la haz de las aguas.",
                    "3": "Y dijo Dios: Sea la luz: y fué la luz.",
export class HelloIonicPage 
{
    items: Array<{ title: string, abbrev: string, todoTex: string }>;
    subItems: Array<{subtitle: string}>;
    chapters: string[];
  constructor(public navCtrl: NavController, public http: Http) 
  {        
     this.http.get('data/rvres.json').map(res => res.json()).subscribe(data => 
    {
        this.items = [];
        this.subItems = [];
        for(let i = 0; i < 66; i++) 
        {
          this.items.push({
              title: data[i].book,
              abbrev: data[i].abbrev,
              todoTex: data[0].chapters[0].uno.uno
          });
        }
        console.log(data[0].chapters[0].uno.uno);
    });
  }
  
 itemSelected(event, item) 
 {
    this.navCtrl.push(ItemDetailsPage, {item: item});
  }

}

mi HTML

<ion-header>
  <ion-navbar>
    <button menuToggle *ngIf="!selectedItem">
      <ion-icon name="menu"></ion-icon>
    </button>
     <ion-title>
        <h3 text-center *ngIf="selectedItem">
            {{selectedItem.title}}
        </h3>
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content>
  <h3 text-center *ngIf="selectedItem">
    {{selectedItem.title}}
    <ion-icon [name]="selectedItem.icon"></ion-icon>
  </h3>
  <h4 text-center *ngIf="selectedItem">{{selectedItem.todoTex}}</h4>
</ion-content>

#2

Have you tried console.log(data[0].chapters[0]['1']['1']);?


#3

I’m going to try at this very moment.


#4

Wait, didn’t I bother to write you an entire conversion program to get your data into a format that uses arrays? Why are you still dealing with this extremely unwieldy format?


#5

@rapropos The truth did not understand very well the explanation you gave me; I did not understand it

export interface Chapter {
  verses: string[];
}

export interface Book {
  abbrev: string;
  book: string;
  chapters: Chapter[];
}

export interface Bible {
  books: Book[];
}
```And I have to change versiculo by versiculo the objects to matrices, is a very long file.

#6

/me bangs head on desk

I gave you an entire command line program that converts the whole file, complete with invocation instructions.


#7

I do not run, it does not run on the android device when compiling apk


#8

You don’t run it on an android device, that’s the entire point: to make the android device have less work to do. You run it on your build machine, and it converts from objects with numerical keys to arrays.