Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

274
Views
La matriz en JavaScript no está definida

Soy muy nuevo en JavaScript pero tengo buena experiencia con C y Java. Por alguna razón, mi código a continuación no completará la matriz con valores que no sean indefinidos. Estoy tratando simplemente de llenar una matriz con un conjunto aleatorio de números para un juego de blackjack

 let randomSuite; let randomNum let count = 0; var cards = new Array(56); window.onload = function main(){ const suites = [ "H", "D", "S", "C" ]; for(let i = 0 ; i < 56 ; i++){ randomNum = (Math.random * 12) + 1; randomSuite = Math.random * 3; cards.push = randomNum; console.log(cards[i]); count++; } alert(cards[1]); } function hitFunc(){ alert("works " + cards[0]); }
 *{ margin: 0; padding : 0; font-family: sans-serif; } .main{ width: 100%; height: 100vh; background-color:black; } .img1{ position: relative; z-index: -1; margin: 10px auto 20px; display: block; width: 75%; height: 75%; } .img2{ position: relative; z-index: 1; margin: 10px auto 20px; display: block; bottom: 200px; right: 400px; width: 7%; height: 7%; } .hitButton { z-index: 1; position: relative; text-align: center; left: 225px; bottom: 550px; } .center { display: block; margin-left: auto; margin-right: auto; width: 50%; color: aliceblue; object-position: center; }

Esto es lo que tengo. Las alertas se utilizan para mostrar que la función se está completando. Cualquier ayuda es apreciada Por favor, deje una explicación también. Esta es mi primera publicación sobre el desbordamiento de pila. Avíseme si hay alguna manera de mejorar la calidad de mi publicación.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

  1. Math.random es una función; usar Math.random()
  2. Lo mismo para push , use cards.push(randomNum)
  3. Estaba definiendo una matriz con 56 puntos new array(56) pero como está usando push , necesitará crear una matriz vacía para que esté presionando al índice deseado. De lo contrario, en lugar de push , simplemente configúralo en el índice: cards[i] = randomNum
  4. No se necesita la variable de count ya que el iterador de bucle ( i ) tiene el mismo valor

 let randomSuite; let randomNum var cards = new Array(); window.onload = function main(){ const suites = [ "H", "D", "S", "C" ]; for(let i = 0 ; i < 56 ; i++){ randomNum = (Math.random() * 12) + 1; randomSuite = Math.random() * 3; cards.push(randomNum); } console.log(cards) }
 *{ margin: 0; padding : 0; font-family: sans-serif; } .main{ width: 100%; height: 100vh; background-color:black; } .img1{ position: relative; z-index: -1; margin: 10px auto 20px; display: block; width: 75%; height: 75%; } .img2{ position: relative; z-index: 1; margin: 10px auto 20px; display: block; bottom: 200px; right: 400px; width: 7%; height: 7%; } .hitButton { z-index: 1; position: relative; text-align: center; left: 225px; bottom: 550px; } .center { display: block; margin-left: auto; margin-right: auto; width: 50%; color: aliceblue; object-position: center; }

about 4 years ago · Juan Pablo Isaza Report

0

Llamar funciones con paréntesis

Math.random() y push() son funciones, no variables, por lo tanto, debe llamarlas usando () .

push() se agregará a la matriz

push() agregará un valor a la matriz. Ya inicializaste una matriz con 10 valores. Presionar nuevos valores aumentará el tamaño de la matriz pero no agregará valores en los primeros 10 lugares.

 const array = new Array(10); for(let i = 0; i < 10; i++){ array.push(i); } console.log(array);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

Solución

En su lugar, debe usar array[i] = value; para establecer un valor en una posición determinada.

 const array = new Array(10); for(let i = 0; i < 10; i++){ array[i] = i; } console.log(array);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

Si desea tener una forma más funcional de hacer esto, como es típico en JavaScript, puede usar map() :

 const array = [...new Array(10)].map((_, index) => index); console.log(array);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!