Aquí está el código que tengo. Todavía soy bastante nuevo en javascript, así que no veo por qué agregar la función evita que la declaración for incremente los números enteros.
const arr = [10,10,16,12] function incrementByOne(arr) { // arr is an array of integers(numbers), Increment all items in the array by // return the array for (const i = 0; i < arr.length; i++){ arr[i] += 1; } return arr }Cualquier ayuda sería muy apreciada.
const arr = [10,10,16,12] function incrementByOne(arr) { // arr is an array of integers(numbers), Increment all items in the array by // return the array for (let i = 0; i < arr.length; i++){ arr[i] += 1; } return arr } let a = incrementByOne(arr) console.log(a)Ejecuté tu código en Node.js:
Código:
'use strict'; const arr = [10,10,16,12] function incrementByOne(arr) { for (const i = 0; i < arr.length; i++) { arr[i] += 1; } return arr } console.log(incrementByOne(arr));Producción:
$ node incr.js incr.js:6 for (const i = 0; i < arr.length; i++){ TypeError: Assignment to constant variable. at incrementByOne (incr.js:6:37) $ Como puede ver, se queja de que está tratando de cambiar el valor de i que su código decía que era constante. Escriba let i = 0 para un valor no constante.
Código:
'use strict'; const arr = [10,10,16,12] function incrementByOne(arr) { for (let i = 0; i < arr.length; i++) { arr[i] += 1; } return arr } console.log(incrementByOne(arr));Producción:
$ node incr.js [ 11, 11, 17, 13 ] $Debe usar let i = 0 en lugar de const i = 0 para iniciar el contador de iteraciones de bucle i
const arr = [10,10,16,12] function incrementByOne(arr) { // arr is an array of integers(numbers), Increment all items in the array by // return the array for (let i = 0; i < arr.length; i++){ arr[i] += 1; } return arr }Luego llame a la función incrementByOne
incrementByOne(arr);