Форум программистов, компьютерный форум, киберфорум
JavaScript: Vue.js
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
1 / 1 / 0
Регистрация: 29.10.2010
Сообщений: 124
1

Как суммировать выбранные значение из массива?

28.10.2020, 13:16. Показов 3187. Ответов 1

Author24 — интернет-сервис помощи студентам
помогите пожалуйста с кодом.

Как суммировать выбранные значение из массива по переменной age(в моем случае), Выборка происходит по клику на input=radio или checkbox То есть например: если выбрано 1 radio и 3 значение checbox показывать сумма выбранных на экран в блоке Total age:

Ну и если убирать галочку или radio, тогда Total age меняется

Мой код:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    var app = new Vue({
      el: '.app',
      data: {
        user: {},
          logins:[
              {name:'Jhon', age:11, price:1000},
              {name:'Richard', age:12, price:2000},
              {name:'Robert', age:13, price:3000},
              {name:'Jack', age:14, price:4000}
          ],
          selectedLogins:[],
      },
      methods: {
        clearRadio() {
          this.user = {}
        }
      },
    });
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<link type="text/css" rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
 
<div class="row app">
  <div class="col-6">
    <div class="border p-3 h-100">
      <div class="font-weight-bold pt-2">Коробка</div>
 
      <input type="radio" v-bind:value="{name:'Tom', age:22}" v-model="user">
      <label>Tom</label>
      <br>
      <input type="radio" v-bind:value="{name:'Bob', age:25}" v-model="user">
      <label>Bob</label>
      <br>
      <input type="radio" v-bind:value="{name:'Sam', age:28}" v-model="user">
      <label>Sam</label>
      <br>
 
      <div class="font-weight-bold pt-2">Продукты</div>
      <template v-for="login in logins">
          <input type="checkbox" v-bind:value="login" v-model="selectedLogins">
          <label>{{login.name}}</label><br>
      </template>
    </div>
  </div>
 
  <div class="col-6">
    <div class="border p-3 h-100">
      <ul class="nav flex-column">
        <li v-if="user.name" class="nav-link">{{user.name}} {{user.age}}
          <button class="btn btn-sm py-0 btn-danger" @click="clearRadio">x</button>
        </li>
        <li class="nav-link" v-for="login in selectedLogins">{{login.name}} - {{login.age}} - {{login.price}}
          <input type="checkbox" v-bind:value="login" v-model="selectedLogins">
        </li>
      </ul>
 
      <hr>
      <span class="pl-3">Total age: {{ totalAges }}</span>
    </div>
  </div>
 
</div>
Так же код в редакторе: https://jsfiddle.net/synapse3/7tw0m6gy/1/

Поможете с кодом ? Заранее спасибо
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2020, 13:16
Ответы с готовыми решениями:

Суммировать элементы массива, расположенные до первого четного числа. Суммировать все нечетные элементы и <11
1. Нужно вычислить сумму массива до первого четного с помощью формул Excel Не удается...

Как суммировать элементы массива по диагонали!
Допустим у меня есть (таблица) многомерный массив мне нужно посчитать сумму значений по диагонали,...

Не знаю как суммировать элементы массива по горизонтали!
Допустим у меня есть массив мне нужно посчитать сумму значений по горизонтали, а потом и эту сумму...

Суммировать элементы матрицы, возвеси в квадрат каждое число и снова суммировать
Всем привет! Предположим, есть некий массив 10 на 10, ну то есть 100 чисел. Эти числа такие...

1
the hardway first
Эксперт JS
2461 / 1836 / 906
Регистрация: 05.06.2015
Сообщений: 3,603
28.10.2020, 15:15 2
Лучший ответ Сообщение было отмечено gogolik как решение

Решение

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var app = new Vue({
  el: '.app',
  data: {
    /* omit for brevity */
  },
  methods: {
    /* omit for brevity */
  },
  computed: {
    ages() {
      return this.selectedLogins.reduce((sum, login) => sum + login.age, 0);
    },
    userAge() {
      return this.user.age || 0;
    },
    totalAges() {
      return this.ages + this.userAge;
    }
  }
});
0
28.10.2020, 15:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.10.2020, 15:15
Помогаю со студенческими работами здесь

Суммировать ячейки с проверкой на числовое значение
Здравствуйте. Как суммировать ячейки с проверкой что в суммируемой ячейки записано числовое или...

Суммировать значение строки и вывести в отдельном столбце
Доброго времени суток. Вопрос. Есть таблица. Нужно посчитать сумму строки по столбцам F1:F3 и...

В цикле от 1 до 200 суммировать текущее значение счетчиков цикла
Здравствуйте, уважаемые форумчане. Помогите, пожалуйста, решить задачу. В цикле от 1 до 200...

Суммировать строки где ячейка имеет однаковые значение
Добрый вечер! Помогите сделать так что бы на листе 6 суммировались строки а данный для расчета...

Суммировать элементы массива
Суммировать элементы массива А для которых сумма индексов нечетна

[php] Суммировать два массива
Здравствуйте! Подскажите, пожалуйста, как суммировать два массива? Например: Array1...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru