首页 > 解决方案 > 获取未捕获的类型错误:无法设置未定义错误的属性“0”

问题描述

我正在尝试在 JavaScript 中创建一个字数计数算法,我正在创建一个 for-in 循环以从数组中获取每个单词,然后将它们推送到对象,但是在我将每个对象键设置为每个数组值时出现错误。

const wordCount = input => {
  let newArr = input.split(" ");
  let obj = {};
  for (let i in newArr) {
    console.log(newArr[i]); // This returns value
    obj.newArr[i] = 1;  // This gives error:- Uncaught TypeError: Cannot set property '0' of undefined
  }
  console.log(obj);
};
wordCount("heyy how you doin heyy");

标签: javascriptarraysobjectword-count

解决方案


您需要初始化newArr为以下字段obj

const wordCount = input => {
  let newArr = input.split(" ");
  let obj = { newArr: [] };
  for (let i in newArr) {
    console.log(newArr[i]); // This returns value
    obj.newArr[i] = 1;  // This gives error:- Uncaught TypeError: Cannot set property '0' of undefined
  }
  console.log(obj);
};
wordCount("heyy how you doin heyy");


推荐阅读