Я делаю простое упражнение в React. Цель упражнения - просто:
- Случайным образом извлечь фрукты из массива
- Записать сообщение «Я бы хотел один RANDOMFRUIT, пожалуйста».
- Записать сообщение «Вот ты go: RANDOMFRUIT»
- Записать сообщение «Вкусный! Можно мне еще один? »
- Удалите фрукты из множества фруктов
- Запишите сообщение« Извините, мы все вышли. У нас осталось FRUITSLEFT.
Во время выполнения этого кода я столкнулся со следующей ошибкой. По какой-то причине «длина», похоже, является проблемой.
TypeError: Cannot read property 'length' of undefined
Module../src/index.js
C:/Users/jaina/Desktop/ReactAPPS/exercise1/exercise-one/src/index.js:15
12 | // Remove the fruit from the array of fruits
13 | let remaining = remove(foods, fruit);
14 | // Log the message “I’m sorry, we’re all out. We have FRUITSLEFT left.”
> 15 | console.log(`I’m sorry, we’re all out. We have ${remaining.length} other foods left.`);
16 |
В ней также указано __webpack_require__
наряду с другими предупреждениями веб-пакетов. Но я предполагаю, что основная причина не работает - это то, что длина не определена.
index. js
import foods from './foods';
import { choice, remove } from './helpers';
// Randomly draw a fruit from the array
let fruit = choice(foods);
// Log the message “I’d like one RANDOMFRUIT, please.”
console.log(`I’d like one ${fruit}, please.`);
// Log the message “Here you go: RANDOMFRUIT”
console.log(`Here you go: ${fruit}`);
// Log the message “Delicious! May I have another?”
console.log('Delicious! May I have another?');
// Remove the fruit from the array of fruits
let remaining = remove(foods, fruit);
// Log the message “I’m sorry, we’re all out. We have FRUITSLEFT left.”
console.log(`I’m sorry, we’re all out. We have ${remaining.length} other foods left.`);
Foods. js
const foods = [
"?", "?", "?", "?", "?", "?", "?", "?",
"?", "?", "?", "?", "?", "?", "?",
];
export default foods;
помощник . js
function choice(items){
let idx = Math.floor(Math.random()* items.length);
}
function remove(items, item){
for (let i = 0; i < items.length; i++){
if(items[i] === item){
return [ ...items.slice(0,i), ...items.slice(i+1)];
}
}
}
export {choice, remove};
Любая помощь приветствуется.