Así que estoy tratando de hacer que mi código se ejecute nuevamente si asigna undefined como lo que estoy imprimiendo en mi consola, básicamente tengo una matriz completa que se somete a una matemática. para asignar cada parte diferente de la matriz a un número, pero a veces aparece como indefinido, así que intenté arreglar eso con un Number.isInteger, así como un If false. Básicamente, Number.isInteger está redefiniendo mi matriz si no es un número falso y luego la declaración If maneja el resto, pero no funciona como pensé que lo haría.
var name = new Array("bloods edge", "grass cutter", "death bringer", "yellow harbinger", "flame cutter", "ice shooter", "Big Hurt", "gun", "big gun", "bigger gun", "biggg gun", "biggest gun", "big sword", "sword", "bigger sword", "big swords brother"); var name = name[Math.floor(Math.random() * 17)]; var name = name[Number.isInteger]; console.log(name); if (name = false) { var name = new Array("bloods edge", "grass cutter", "death bringer", "yellow harbinger", "flame cutter", "ice shooter", "Big Hurt", "gun", "big gun", "bigger gun", "biggg gun", "biggest gun", "big sword", "sword", "bigger sword", "big swords brother"); var name = name[Math.floor(Math.random() * 17)]; console.log(name); console.log("Attack Damage"); }; console.log(name); console.log("Attack Damage"); const Damage = (Math.random() * 100); console.log(Math.ceil(Damage)); var prefix = new Array("Swings with a burst of fire!", "Inflicts Posion!", "A very sharp boy", "Shoots discs of mana", "Sometimes kills instantly", "Sometimes heals you to max health"); var prefix = prefix[Math.floor(Math.random() * 6)]; if (Damage >= 70) { console.log("PREFIX FOR BEING GOD WOW!"); console.log(prefix); }; var badPrefix = new Array("broken to bits", "sometimes inflicts no damage", "inflicts self damage", "why would you use this???", "seriously stop using me", "Insults you everytime you swing", "just rude"); var badPrefix = badPrefix[Math.floor(Math.random() * 7)]; if (Damage <= 30) { console.log("Prefix for being BAD"); console.log(badPrefix); };Está utilizando el operador de asignación para el caso if. Necesita que el operador de igualdad use == o === allí.
if (name === false) { var name = new Array("bloods edge", "grass cutter", "death bringer", "yellow harbinger", "flame cutter", "ice shooter", "Big Hurt", "gun", "big gun", "bigger gun", "biggg gun", "biggest gun", "big sword", "sword", "bigger sword", "big swords brother"); var name = name[Math.floor(Math.random() * 17)]; console.log(name); console.log("Attack Damage"); };Tal vez esto es lo que estás buscando:
var name = ["bloods edge", "grass cutter", "death bringer", "yellow harbinger", "flame cutter", "ice shooter", "Big Hurt", "gun", "big gun", "bigger gun", "biggg gun", "biggest gun", "big sword", "sword", "bigger sword", "big swords brother"]; let randomNum=Math.floor(Math.random() * 17) var name = name[randomNum]; //var name = name[Number.isInteger]; console.log(name); if (name === false) { var name = ["bloods edge", "grass cutter", "death bringer", "yellow harbinger", "flame cutter", "ice shooter", "Big Hurt", "gun", "big gun", "bigger gun", "biggg gun", "biggest gun", "big sword", "sword", "bigger sword", "big swords brother"]; var name = name[Math.floor(Math.random() * 17)]; console.log(name); console.log("Attack Damage"); }; console.log(name); console.log("Attack Damage"); const Damage = (Math.random() * 100); console.log(Math.ceil(Damage)); var prefix = new Array("Swings with a burst of fire!", "Inflicts Posion!", "A very sharp boy", "Shoots discs of mana", "Sometimes kills instantly", "Sometimes heals you to max health"); var prefix = prefix[Math.floor(Math.random() * 6)]; if (Damage >= 70) { console.log("PREFIX FOR BEING GOD WOW!"); console.log(prefix); }; var badPrefix = new Array("broken to bits", "sometimes inflicts no damage", "inflicts self damage", "why would you use this???", "seriously stop using me", "Insults you everytime you swing", "just rude"); var badPrefix = badPrefix[Math.floor(Math.random() * 7)]; if (Damage <= 30) { console.log("Prefix for being BAD"); console.log(badPrefix); };