Поскольку l oop игнорирует мою операцию и возвращает исходный массив - JavaScript - PullRequest
0 голосов
/ 23 апреля 2020

[] [1] Я пытаюсь ознакомиться с массивами в JavaScript и хотел написать функцию, которая бы принимала массив входных данных, скоростей и запускала oop через этот массив, каждую итерацию с использованием нового элемент из массива в уравнении импульса, а затем добавление результирующих значений импульса в отдельный массив.

Я пробовал l oop снаружи и внутри функции, в то время как циклы и циклы, и почти со всеми этими подходами в результате я получаю исходный массив скоростей без изменений.

Я, очевидно, не знаю, в чем проблема, но кажется, что линия "импульс = масса * скорости" в l oop игнорируется (я также пытался объявить, что переменная). Это не для класса, поэтому нет никаких ограничений в том, как это решить, я просто пытаюсь стать лучше с массивами и циклами. Спасибо.

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
}  

1 Ответ

0 голосов
/ 23 апреля 2020

Удалить i=velocities не имеет большого смысла, длина с ошибкой momentumArray.push вместо push.momentumArray и добавить аргумент mass в вашу функцию.

Кроме того, вам не нужно делать momentumArray global и попробуйте использовать let / const вместо 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.net/op32f8yk/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...