javascript - 未捕获的 TypeError : arr. forEach 不是函数

标签 javascript

我是一个 JS 初学者,偶然发现了一个我无法解决的问题。我在 Sublime 中运行这个简单的 sum 函数后出现标题错误:

HTML

<!DOCTYPE html>
<html>
<head>
    <title>JS Exercise</title>
    <script src="JSexercise.js"></script>
</head>
<body>
    <h1>JS Exercise</h1>
</body>
</html>

JS

function sumArray(arr){
    var sum = 0;
    arr.forEach(function(element){
        sum+=element;
    });
    return sum;
}

var input = prompt("Give array");
console.log(sumArray(input));

错误

Uncaught TypeError: arr.forEach is not a function at sumArray (JSexercise.js:3) at JSexercise.js:10

最佳答案

输入变量将采用字符串。 split() 用于将字符串转换为数组。因此,首先根据您在提示中传递的分隔符分割字符串,这将输出一个数组。然后将此数组传递给函数 sumArray。

var input= "1 2 3 4 5"; // Enter 1 2 3 4 5 in prompt box
// Split the string by whitespaces - arr will now contain [1,2,3,4,5]
var arr = input.split(" ");
console.log(sumArray(arr));

关于javascript - 未捕获的 TypeError : arr. forEach 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43780861/

相关文章:

javascript - 单击事件 jQuery 后更改默认图像

javascript - 访问 D3 中的 JSON 值

javascript - 如何让装饰器与 babel 和 webpack 一起工作?

javascript - 在HTML5 Canvas 上慢慢绘制二次曲线

javascript - Node.js 使用 TypeScript 导出语法

javascript - 使用 jquery 在 chrome 上 float 更改问题

javascript - 带有远程数据源的 Typeahead.js

javascript - popstate - 需要在后退按钮上点击两次才能真正返回

javascript - 列表项中的 React-Native 开关始终未选中

javascript - Bootstrap Datepicker 防止日期格式更改 + 结束日期晚于开始日期