javascript - 获取未捕获的类型错误:无法设置未定义错误的属性“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");
解决方案
您需要初始化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");
推荐阅读
- java - 使用子字符串时如何从字符串中删除一个字母
- angular - 字母数字范围验证
- javascript - 从javascript中的不同文件导入数组
- ssh - 在 .ssh 文件夹中找不到 id_rsa
- excel - 在图像上放置自定义文本
- microsoft-graph-api - NextLink 上的 InvalidDeltaToken(Microsoft Graph 日历)
- spring - Spring 5:MVC 控制器参数 pageable 未初始化
- wpf - 为什么 OverrideMetadata 没有响应?
- configuration - 德鲁伊设置错误:服务于此控制台的服务没有响应
- revit-api - 如何为 revit 插件创建安装程序?