I need to random objects on array to "make a battle". The random works perfect, but sometimes repeat objects. Also, I can see my var ARR it's full of undefined. I don't understand how I need to do to random perfectly without repeated object and fill with randomed objects.
var avenger = [
{id: 1, fullName: "Steve Rogers", avengerName: "Captain America", gender: "Male", city: "New York City", markAv: 10},
{id: 2, fullName: "Tony Stark", avengerName: "IronMan", gender: "Male", city: "New York City", markAv: 15},
{id: 3, fullName: "Thor Odinson", avengerName: "Thor", gender: "Male", city: "Los Angeles", markAv: 13},
{id: 4, fullName: "Bruce Banner", avengerName: "Hulk", gender: "Male", city: "Maryland", markAv: 20},
{id: 5, fullName: "Clint Barton", avengerName: "Hawkeye", gender: "Male", city: "Los Angeles", markAv: 8},
{id: 6, fullName: "Natasha Romanoff", avengerName: "Black Widow", gender: "Female", city: "Paris", markAv: 14},
{id: 7, fullName: "Nick Fury", avengerName: "Nick Fury", gender: "Female", city: "New York City", markAv: 5},
{id: 8, fullName: "Jaume Serradell", avengerName: "Jaumeserr", gender: "Male", city: "Barcelona", markAv: 18}
]
function avengerPairs(myObject) {
var arr = [];
for (var i=0; i<avenger.length; i++) {
var randomAvenger = avenger[Math.floor(Math.random() * avenger.length)];
if (randomAvenger[i] !== avenger[i]) {
arr.push([randomAvenger, avenger[i+1]]);
i++;
}
}
console.log(arr);
for (var i=0; i<arr.length; i++) {
console.log(Math.max(arr[i][0].markAv, arr[i][1].markAv));
if (arr[i][0].markAv < arr[i][1].markAv) {
console.log(arr[i][0].fullName + " vs " + arr[i][1].fullName + " => " + arr[i][1].fullName + " is better!");
} else if (arr[i][0].markAv === arr[i][1].markAv) {
console.log(arr[i][0].fullName + " vs " + arr[i][1].fullName + " => Are equals!");
} else {
console.log(arr[i][0].fullName + " vs " + arr[i][1].fullName + " => " + arr[i][0].fullName + " is better!");
}
}
}
avengerPairs(avenger);
avengerproperties into thearrarray or fullavengerobjects. (example property:fullName: "Tony Stark")