【问题标题】:Getting Uncaught TypeError: Cannot set property '0' of undefined error获取未捕获的类型错误:无法设置未定义错误的属性“0”
【发布时间】:2020-03-20 00:42:55
【问题描述】:

我正在尝试在 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");

【问题讨论】:

    标签: javascript arrays object word-count


    【解决方案1】:

    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");

    【讨论】:

    • 谢谢!我没有添加那些括号。
    【解决方案2】:

    您的obj 对象中没有属性newArray。

    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");

    【讨论】:

      【解决方案3】:

      您需要将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");

      【讨论】:

        猜你喜欢
        • 2013-06-16
        • 2012-05-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多