如何在JavaScript中创建给定数字的平方数组?求助修正错误代码
问题修正方案
你的代码存在两个关键问题,导致无法生成存储数字平方值的数组:
- 变量名不匹配:你定义的数组变量是
arr,但调用map方法时错误使用了array,这会引发引用错误 - 计算逻辑错误:
num % num是取余运算,任何数字对自身取余结果都是0,你需要的是平方运算,应该用num * num或者ES6的幂运算符num ** 2
修正后的代码如下:
let arr = [1, 2, 30, 50, 7, 83, 670] let n = arr.map((num) => { return num * num }) console.log(n) // 输出结果: [1, 4, 900, 2500, 49, 6889, 448900]
如果想让代码更简洁,可以省略箭头函数的大括号和return:
let arr = [1, 2, 30, 50, 7, 83, 670] let n = arr.map(num => num ** 2) console.log(n)
内容的提问来源于stack exchange,提问作者Rezwan
相关产品推荐
相关产品推荐

