Use FOR in a fix

0

I have the following answers. How can I use a for to avoid putting [0], [1], [2] etc.

console.log("-------------------------------");
console.log(response.output.generic[0].options[0].label);
console.log(response.output.generic[0].options[1].label);
console.log(response.output.generic[0].options[2].label);
console.log(response.output.generic[0].options[3].label);
console.log("-------------------------------");

Thank you very much

    
asked by Isaac Alejandro 03.12.2018 в 22:11
source

2 answers

3

You have several options:

  • % traditional% co:
  • let response = {};
    response.output = {};
    response.output.generic =[];
    response.output.generic[0] = [];
    response.output.generic[0].options = [{label:"Option 1"},{label:"Option 2"},{label:"Option 3"},{label:"Option 4"}];
    
    console.log("-------------------------------");
    for(let i=0;i<response.output.generic[0].options.length;i++){
      console.log(response.output.generic[0].options[i].label);
    }
    console.log("-------------------------------");
  • for
  • let response = {};
        response.output = {};
        response.output.generic =[];
        response.output.generic[0] = [];
        response.output.generic[0].options = [{label:"Option 1"},{label:"Option 2"},{label:"Option 3"},{label:"Option 4"}];
    
        console.log("-------------------------------");
        for(let item of response.output.generic[0].options){
          console.log(item.label);
        }
        console.log("-------------------------------");
  • for of
  • let response = {};
            response.output = {};
            response.output.generic =[];
            response.output.generic[0] = [];
            response.output.generic[0].options = [{label:"Option 1"},{label:"Option 2"},{label:"Option 3"},{label:"Option 4"}];
    
            console.log("-------------------------------");
            response.output.generic[0].options.forEach((v)=>{
              console.log(v.label);        
            });
              
            console.log("-------------------------------");

    Personally forEach seems to me the cleanest of all.

    Here you have more info on loops and iterators

        
    answered by 03.12.2018 / 22:57
    source
    0

    Since response.output.generic[0].options is an array you can use its lenght property. And that value use it in a for cycle.

    console.log("-------------------------------");
    for ( let i = 0; i < response.output.generic[0].options.lenght; i++ ) {
      console.log(response.output.generic[0].options[i].label);
    }
    console.log("-------------------------------");
    
        
    answered by 03.12.2018 в 22:28