Cómo sumar el número inverso en la matriz. Quiero agregar el número al revés en la matriz.
var totalBidders = 22; var NoOfWinners = 3; var arr = []; let e = totalBidders-NoOfWinners; for (let i = totalBidders; i > e; i--) { console.log( "=>" , i); arr.push(i); console.log(arr[i]); }Pero tengo esto :
index.js:484 => 22 index.js:486 undefined index.js:484 => 21 index.js:486 undefined index.js:484 => 20 index.js:486 undefinedSolo usa Array.reverse
var totalBidders = 22; var NoOfWinners = 3; var arr = []; let e = totalBidders - NoOfWinners; for (let i = totalBidders; i > e; i--) { arr.push(i); } arr.reverse(); console.log(arr);O
Simplemente controle las variables del bucle.
Ejemplo de implementación
var totalBidders = 22; var NoOfWinners = 3; var arr = []; let e = totalBidders - NoOfWinners; for (let i = 1; i <= NoOfWinners; i++) { arr.push(e + i); } console.log(arr);Otra forma, de una sola línea si no te importa:
const totalBidders = 22; const NoOfWinners = 3; const arr = [...Array(NoOfWinners).keys()].map((e) => totalBidders - e); console.log(arr); .as-console-wrapper{min-height: 100%!important; top: 0}consola.log(arr[i])
Intentará acceder a los valores del índice 22 , 21 y 20 desde una matriz arr , pero estos índices no existen ya que arr.push(i) está insertando los valores 22 , 21 y 20 en los índices 0 , 1 y 2nd en una matriz.
Si desea acceder a los valores, puede probar esto :
console.log(arr[arr.length-1])demostración:
const totalBidders = 22; const NoOfWinners = 3; const arr = []; const e = totalBidders-NoOfWinners; for (let i = totalBidders; i > e; i--) { console.log( "=>" , i); arr.push(i); console.log(arr[arr.length - 1]); } arr.reverse();