Массивы Отстойников

#javascript #arrays #multidimensional-array

Вопрос:

у меня есть этот массив:

 money(v, q)

[50, 2]
[20, 2]
[10, 2]
.
.
.
n
 

мне нужно это сделать

 (money[0].v * money[0].q)   (money[1].v * money[1].q)   (money[n].v * money[n].q)
 

вы можете мне помочь, пожалуйста?

Я пытался

  for (i = 0; i > money.length; i  )
 {
 (money[i].v * money[i].q)   (money[i  ].v * money[i  ].q)
 }
 

но математически это неверно, и я не знаю, как это исправить

Большое спасибо

Комментарии:

1. Было бы легче понять , если бы вы могли добавить array v и q . Какой результат вы получаете и каков ожидаемый результат?

Ответ №1:

Я не совсем понимаю, как настроен ваш массив. Итак, я делаю предположение, что это массив массивов, подобных этому [ [50,2], [20,2], [10,2] ] .

Если это предположение верно, то вы могли бы использовать этот Array.prototype.reduce() метод.

Более подробная информация здесь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

 const arrayOfArrays = [
  [50, 2],
  [20, 2],
  [10, 2]
];
const reduced = arrayOfArrays.reduce((a, c) => a   (c[0] * c[1]), 0);
console.log(`Total: ${reduced}`); 

Ответ №2:

 let result = 0
for (i = 0; i < money.length; i  ){
 result  = money[i].v * money[i].q
 }
 

Вы начинаете с объявления переменной вне цикла for, чтобы сохранить результат.
Затем каждый раз, когда вы проходите цикл, вы добавляете произведение v и q для текущего значения i в переменную результата.