For循环忽略我的操作并返回原始数组 – JavaScript

[][1]我正试图熟悉JavaScript中的数组,想写一个函数,把输入的速度数组,通过这个数组进行循环,每次迭代都使用动量方程中数组中的一个新元素,然后把得到的动量值加到一个单独的数组中。

我试过在函数外和函数内循环,while循环和for循环,几乎所有这些方法,我得到的结果都是原来的速度数组,没有变化。

我显然不知道问题出在哪里,但似乎循环中的 “momentum = mass * velocities “这一行被忽略了(我也试过把它声明为一个var)。这不是针对一个类,所以对如何解决这个问题没有任何限制,我只是想更好地使用数组和循环。谢谢。

var mass = Number(prompt('what is the mass of the object?'))
var velocities = [10, 20, 30, 40, 50]
i = velocities
var momentumArray = []

function findMomentum() {
    for (var i = 0; i < velocities.lenght; i++) {
        momentum = mass * velocities[i]
        push.momentumArray(momentum)
    }
    return momentumArray
}  

解决方案:

移除 i=velocities 没有什么意义,你拼错了长度。momentumArray.push 而不是 push.momentumArray 并加上 mass 参数。

另外,不需要将你的momentumArray做成全局的,并尝试使用letconst代替var。

const mass = Number(prompt('what is the mass of the object?'))
const velocities = [10, 20, 30, 40, 50]

function findMomentum(mass) {
  const momentumArray = []
  for (let i = 0; i < velocities.length; i++) {
    momentum = mass * velocities[i]
    momentumArray.push(momentum)
  }
  return momentumArray
}
console.log(findMomentum(mass))

演示一下。https:/jsfiddle.netop32f8yk1

给TA打赏
共{{data.count}}人
人已打赏
未分类

在2个列表上的zip函数删除值[关闭]

2022-9-10 6:47:45

未分类

std::option类的实现

2022-9-10 6:58:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索