2016-08-07 11 views
1

Mit Javascript habe ich ein paar Variablen.Auswahl einer Variablen aus einer generierten Nummer

var item1 = { 
    name : 'apple', 
    color : 'red', 
    type : 'fruit' 
    //etc 
}; 
var item2 = { 
    name : 'rose', 
    color : 'red', 
    type : 'plant' 
    //etc 
}; 

Ich möchte diese Elemente basierend auf einer Nummer auswählen. Ich dachte mir, es so zu machen.

var select; 

function getRandomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 
} 

select = Math.floor(Math.random() * 2) + 1; 

Allerdings habe ich Probleme beim Anrufen dieser Elemente. Ich dachte, es wäre nur item[select].name etc .. aber es ist eindeutig nicht passiert. Hilfe?

Antwort

0

Setzen Sie Ihre Elemente in einem Array:

items = [item1, item2]; 

Als nächstes wählen Sie (Ausdruck) einen zufälligen Namen des Elements Ihre getRandomInt() -Funktion:

console.log(items[getRandomInt(0,items.length - 1)].name); 
0

Sie sollten Ihre Einzelteile in einem setzen mehrere Variablen Array anstatt:

var items = [ 
    { 
     name: 'apple', 
     // ... 
    }, 
    { 
     name: 'cherry', 
     // ... 
    } 
]; 

// Pick a random item (slightly biased) 
var item = items[Math.random() ℅ items.length]; 
0
  • Speichern Sie die Objekte in einem Array
  • Verbessern Sie den Zufallsgenerator.

var item = [{ 
 
    name: 'apple', 
 
    color: 'red', 
 
    type: 'fruit' 
 
}, { 
 
    name: 'rose', 
 
    color: 'red', 
 
    type: 'plant' 
 
},{ 
 
    name: 'apple1', 
 
    color: 'red1', 
 
    type: 'fruit1' 
 
}, { 
 
    name: 'rose1', 
 
    color: 'red1', 
 
    type: 'plant1' 
 
}]; 
 

 
function getRandomInt(min, max) { 
 
    return Math.floor(Math.random() * (max - min)) + min; 
 
} 
 

 
console.log(item[getRandomInt(0, item.length)].name);

0

Setzen Sie Ihre Elemente in einem Array items und verwenden Sie dann items[select].name

var item1 = { 
 
    name : 'apple', 
 
    color : 'red', 
 
    type : 'fruit' 
 
    //etc 
 
}; 
 
var item2 = { 
 
    name : 'rose', 
 
    color : 'red', 
 
    type : 'plant' 
 
    //etc 
 
}; 
 

 
var item = [item1, item2]; 
 
var select = ""; 
 

 
    function getRandomInt(min, max) { 
 
     return Math.floor(Math.random() * (max - min + 1)) + min; 
 
    } 
 

 
    select = Math.floor(Math.random() * 2) ; 
 

 
console.log(item[select].name);