Estoy aprendiendo a codificar y estoy probando este curso de método de objetos de JavaScript. Actualmente estoy atascado en este método. Quiero tener la matriz con tres números diferentes (10,20,5) para ser /2. No entiendo por qué está devolviendo NaN. Gracias por leer.
shirtPrice = 10 jeanPrice = 20 shoePrice = 5 shoppingList = [shirtPrice,jeanPrice,shoePrice]; const shoppingDiscountDay = { discountedItems: { calculateItemsDiscount() { return shoppingList/2; //return NaN }, } } console.log(shoppingDiscountDay.discountedItems.calculateItemsDiscount());Intenta usar .map()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
const shoppingDiscountDay = { discountedItems: { calculateItemsDiscount() { const itemsHalfPrice = shoppingList.map(item=>item/2) return itemsHalfPrice; }, } }No puede dividir una matriz, necesita dividir cada uno de los elementos en ella.
Puede usar el método .map que aplica una función en cada uno de los elementos de una matriz y devuelve una nueva matriz con los resultados
shirtPrice = 10 jeanPrice = 20 shoePrice = 5 shoppingList = [shirtPrice, jeanPrice, shoePrice]; const shoppingDiscountDay = { discountedItems: { calculateItemsDiscount() { return shoppingList.map(itemPrice => itemPrice / 2); }, } } console.log(shoppingDiscountDay.discountedItems.calculateItemsDiscount());No puede realizar la operación '/' en la matriz. Está destinado a ser realizado en números. En su lugar, intente esto.
shirtPrice = 10 jeanPrice = 20 shoePrice = 5 shoppingList = [shirtPrice,jeanPrice,shoePrice]; const shoppingDiscountDay = { discountedItems: { calculateItemsDiscount() { for(let i = 0; i < shoppingList.length; i++){ shoppingList[i] = shoppingList[i]/2; } return shoppingList; }, } } console.log(shoppingDiscountDay.discountedItems.calculateItemsDiscount());