С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 136

Google scripts, работа с массивами

23.09.2019, 14:37. Показов 2156. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени. Нужна помощь.

Есть лист1. В нем содержатся элементы вида [название, параметр1, 2, 3,4,5]

Есть лист2. В нем название рецепта, и его состав из этих ингредиентов. Вот скрин

задача. В лист 3 нужно вставить соответствующие значения(сумму) калорий, белков, жиров исходя из листа1.

В лист 3 уже автоматически подтягиваются названия рецептов.

Лист 1 засунул в массив. (ingredient)
Лист 2 в bludaarr.
JavaScript
1
2
 ingredient = tovary.getRange(3, 1,  tovary.getDataRange().getNumRows(), 7).getValues();
  bludaarr = recepty.getRange(1, 2,  bluda.getDataRange().getNumRows(), bluda.getDataRange().getNumColumns()).getValues();
Пример. Блюдо состоит из чая и хлеба. Называется блюдо 1. Его калорийность исходя из листа и = калорийность чая+хлеба. С белками тоже самое.
Помогите, пожалуйста, на шарпе сделал бы уже

Добавлено через 4 минуты
Миниатюры
Google scripts, работа с массивами   Google scripts, работа с массивами   Google scripts, работа с массивами  

0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.09.2019, 14:37
Ответы с готовыми решениями:

Скачать 5 первых картинок по запросу в Google. Работа с Google Api
Доброго времени суток, интересует такая вещь как из программы, сделать какой то запрос на поиск картинок в гугл, скачать 5 первых из...

Python scripts
Всем привет, решил создать тему здесь, так как более подходящего подфорума не было. Хочу попросить интернет-источнить или т.п. для...

Парсер scripts
Привет, пишу программу, и понадобилось парсить страницу в интернете, делаю я это с помощью библиотеки JSOUP... Все отлично парсится, но...

10
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
23.09.2019, 17:19
Цитата Сообщение от Sliponn Посмотреть сообщение
В лист 3 уже автоматически подтягиваются названия рецептов.
Из первого листа данные лучше собрать в словарь, в третьем листе брать название, во втором ингредиенты только для этого блюда и считать
0
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 136
23.09.2019, 18:33  [ТС]
словарь-это что то типа коллекции?
даже близко не представляю как на Js сделать это всё. не мой язык, но задачу поставили
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
23.09.2019, 19:16
Цитата Сообщение от Sliponn Посмотреть сообщение
словарь-это что то типа коллекции?
Это что-то вроде этого https://metanit.com/sharp/tutorial/4.9.php

В javascript Map()
0
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 136
23.09.2019, 19:39  [ТС]
принял, курю, но бошка уже не варит, а сделать надо срочно. был бы благодарен, если б показали как запихнуть в мап ингредиенты, а дальше уж сам. спасибо

Добавлено через 1 минуту
var map = new Map();
объект не определен
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
23.09.2019, 20:45
Цитата Сообщение от Sliponn Посмотреть сообщение
var map = new Map();
объект не определен
Проблема, в скриптах нет ES6, значит придется по старому, var map = {};
0
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 136
23.09.2019, 21:05  [ТС]
ну через обычные массивы. я так и пытаюсь, 2й день что то все не идет:с
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
23.09.2019, 21:07
Цитата Сообщение от Sliponn Посмотреть сообщение
ну через обычные массивы
Нет, я имею ввиду делать словари через обекты

JavaScript
1
2
3
4
map = {
    'Хлеб цельнозерновой' : [222, 6.5, 4, 39.3 ],
    .....
}
0
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 136
23.09.2019, 21:32  [ТС]
наод все это в цикл как-то, ибо кол-во ингредиентов может меняться
0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
24.09.2019, 06:58
не знаю, правильно ли я понял задачу...
например, пользователь выбирает себе завтрак, и ему показывает общую калорийность
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    <div class="menu">
      <ol>
        <li name="bread">Хлеб цельнозерновой</li>
        <li name="butter">Масло сливочное</li>
        <li name="cheese">Сыр Моцарелла</li>
        <li name="tomato">Помидор</li>
        <li name="coffee">Кофе черный без сахара</li>
        <li name="banana">Банан</li>
        <li name="rice">Бурый рис</li>
      </ol>
      <div class="dish">
        <ul>
          
        </ul>
        <p>Калорийность: <span>0</span></p>
      </div>
  </div>
JavaScript
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
let ingredients = [
  {
   name: 'bread',
   calorie: 225,
   proteins: 6.5,
   fats: 4,
   carbohydrates: 39.3
  },
  {
   name: 'butter',
   calorie: 748,
   proteins: .5,
   fats: 82.5,
   carbohydrates: .8
  },
  {
   name: 'cheese',
   calorie: 242,
   proteins: 18.8,
   fats: 18.1,
   carbohydrates: 1
  },
  {
   name: 'tomato',
   calorie: 20,
   proteins: 1.1,
   fats: 0.2,
   carbohydrates: 3.7
  },
  {
   name: 'coffee',
   calorie: 2,
   proteins: .2,
   fats: 0,
   carbohydrates: .2
  },
  {
   name: 'banana',
   calorie: 95,
   proteins: 1.5,
   fats: .2,
   carbohydrates: 21.8
  },
  {
   name: 'rice',
   calorie: 337,
   proteins: 7.4,
   fats: 1.8,
   carbohydrates: 72.9
  }
];
 
let menu = document.querySelector('.menu');
let ingrs = menu.querySelector('ol');
let dish = menu.querySelector('.dish');
let dishList = dish.querySelector('ul')
let sum = dish.querySelector('p span');
 
let addElDish = e => {
    let li = document.createElement('li');
    li.innerText = e.target.innerText;
    dishList.append(li);
    let n = e.target.getAttribute('name');
    sum.innerText = +sum.innerText + ingredients.reduce((res, el) => res = el.name == n ? res + el.calorie : res, 0);
}
ingrs.addEventListener('click', addElDish);
CSS
1
2
3
4
5
6
.menu {
    display: flex;
}
.dish p {
    padding-left: 20px;
}
песочница
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
24.09.2019, 10:26
Цитата Сообщение от klopp Посмотреть сообщение
не знаю, правильно ли я понял задачу...
Имеется таблица в google docs, в таблице 3 листа, на третьем листе в первом столбце записаны названия блюд, во втором листе записаны ингредиенты, в виде в первой строке столбца название блюда, в строках ниже ингредиенты, на первом листе записаны ингредиенты и их калорийность, белки, жиры и углеводы, нужно на третьем листе брать название блюда, на втором листе находить ингредиенты этого блюда, на первом брать данные и складывать и записывать в третий лист
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.09.2019, 10:26
Помогаю со студенческими работами здесь

Работа с массивами
Здравствуйте. Вообщем, ситуация такая. Сам плюсы уже забыл, а человек на госах сидит, пропадает - программирование не знает вообще. Ну,...

Работа с массивами
Доброго времени суток. Вот чтото поставила меня в ступор задачка: Дан массив ненулевых целых чисел размера n. Проверить чередуются ли...

Работа с массивами
Дан массив, состоящий из целых чисел. Напишите программу, которая определяет, есть ли в массиве пара соседних элементов с одинаковыми...

Работа с массивами
появилась такая проблема... не знаю как написать чтобы выполнялись этих 2 условия: 1. Вычислить среднегеометрическое значение четных по...

Работа с массивами
Всем привет, нужна помощь в том, чтобы вытащить из строки(string) все что начинается на &quot;code&quot;:&quot; и заканчивается на...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru