Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

176
Visualizações
verificación de código: espero que IndexPlus sea 2 pero parece que se convierte en 1 + 1 = 11, ¿por qué?

ingrese la descripción de la imagen aquí

descripción :

Espero el indexPlus 2 pero viene 11, ¿qué pasa? ¿y por qué? véalo en la línea 28 .

código:

 var inputArr = [1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0] console.log('before', inputArr) var arr = [] //先遍历inputArr确定0的位置for (key in inputArr) { if (inputArr[key] === 0) { arr.push(key) } } //将0移到数组最后面,通过位置交换实现for (value of arr) { for (i = value; i < inputArr.length - 1; i++) { swap(i, i + 1) } } function swap(index, indexPlus) { var temp = inputArr[index] inputArr[index] = inputArr[indexPlus] inputArr[indexPlus] = temp } console.log('after', inputArr)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Cuando haces for (key in inputArr) , las claves son cadenas, no números enteros. Entonces, más adelante, cuando haces swap(i, i + 1) , i es una cadena, e i + 1 realiza la concatenación de cadenas, no la suma de enteros.

Cambie el primer ciclo para recorrer índices, no claves.

 var inputArr = [1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0] console.log('before', inputArr) var arr = [] //先遍历inputArr确定0的位置for (let key = 0; key < inputArr.length; key++) { if (inputArr[key] === 0) { arr.push(key) } } //将0移到数组最后面,通过位置交换实现for (value of arr) { for (i = value; i < inputArr.length - 1; i++) { swap(i, i + 1) } } function swap(index, indexPlus) { var temp = inputArr[index] inputArr[index] = inputArr[indexPlus] inputArr[indexPlus] = temp } console.log('after', inputArr)

about 4 years ago · Juan Pablo Isaza Relatório

0

Cuando usa for (in), en cada ciclo individual, obtendrá una clave (posición) como una cadena. Entonces, cuando lo tome y + 1 obtendrá el resultado como una cadena.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda