#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 в переменную результата.