Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

111
Vistas
.sort no es una función en una matriz

Pasos para reproducir: 1: Visite https://www.chess.com/play/computer 2: Pegue el código JS en la consola

Resultados esperados: Las piezas se imprimen por su número de cuadrado de forma ascendente

Resultados reales: Uncaught TypeError: newPieces.sort is not a function

Código JS:

 pieces = ["r","n","b","q","k","p"]; colors = ["w","b"]; squareTemplate = "square-"; boardTemplate = "chess-board.layout-board"; function updatePieces(){ return document.querySelectorAll("chess-board.layout-board .piece"); } function getFen(isFlipped){ } function evalMove(){ } console.log("Starting up ..."); const board = document.querySelector(boardTemplate); let newPieces = []; newPieces = updatePieces(); newPieces.sort(function(a,b){return a.classList[2].split('-')[1] - b.classList[2].split('-')[1]}); let fenRows = []; for(i=0;i<newPieces.length;i++){ let classList = newPieces[i].classList; let pieceColor = classList[1][0]; let pieceType = classList[1][1]; let pieceSquare = classList[2].split('-')[1]; //console.log(" Piece color is: " + pieceColor + " it is: " + pieceType + " and it is in: " + pieceSquare); if(pieceColor == 'w'){ pieceType.toUpperCase(); } else { pieceType.toLowerCase(); } fen }

Entonces, básicamente, JS está tratando de decirme que no es una matriz, bueno, si no es una matriz, entonces nací en Bangladesh, porque se let newPieces = [];

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

La función updatePieces no devuelve una array , y el método de sort solo funciona en matrices, primero verifique la salida de la función updatePieces()

about 4 years ago · Juan Pablo Isaza Denunciar

0

sort() es un método ubicado en Array.prototype que es lo que desea usar donde querySelectorAll() devuelve una lista de nodos estática que representa una lista de los elementos del documento que coinciden con el grupo especificado de selectores, no con una matriz. es por eso que obtienes tu excepción. si desea utilizar la ordenación, debe convertirla en una matriz.

Puede convertirlo en una matriz usando array.from

 const pieces = document.querySelectorAll("chess-board.layout-board .piece"); const arr = Array.from(pieces);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda