Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для Козка
1 / 1 / 0
Регистрация: 25.12.2012
Сообщений: 29

Define({entries:{. как достать информацию?

29.03.2016, 15:48. Показов 1389. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане.

У меня очень простой вопрос, который я самостоятельно не могу решить. Дали файл lib.js, который наверное как каталог (с перечнем книг, аннотациями, авторами, годами). Этот файл мне нужно подцепить скажем, к main.html а после вытащить (посчитать) из него кол-во книг написанных конкретным автором или, скажем, в конкретном году и вывести эту информацию на экран.

Не знаю, как подступиться к файлу lib.js.

Файлы:
Кликните здесь для просмотра всего текста
main.html
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Main regex test</title>
    <!--catalog-->
    <script type="text/javascript" src="scripts/bib.js"></script>
    <script type="text/javascript" src="scripts/jquery-1.11.0.js"></script>
</head>
<body>
<div>
    Number of books from year 1995:<div id="year"></div>
</div>
</body>
    <!--my script file-->
    <script type="text/javascript" src="scripts/main.js"></script>
</html>
lib.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
define({ entries : {
    "Book1": {
        "author": "John Smith",
        "title": "The best book ever",
        "year": "1995"
    },
    "Book2": {
        "author": "Tom Moscow",
        "title": "The second one",
        "year": "1995"
    },
    "Book3": {
        "author": "Ahmed, Adel and Fu, Xiaoyan and Hong, Seok-Hee and Nguyen, Quan Hoang and Xu, Kai",
        "title": "Visual analysis of history of {World Cup}: A dynamic network with dynamic hierarchy and geographic clustering",
        "year": "1996"
    },
    "Book4": {
        "author": "Kitch Saw",
        "title": "Applications of languages",
        "year": "1996"
    }
}});
main.js
JavaScript
1
2
3
4
5
6
7
window.onload = find_num_of_books();
 
function find_num_of_books()
{
    alert("hi");
    //???? что писать - не знаю, в идеале должно быть обращение к файлу lib.js
}


Добавлено через 14 минут
Ах да, ещё этот lib.js не подключается, потому что

Uncaught ReferenceError: define is not defined(anonymous function) @ bib.js:1
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2016, 15:48
Ответы с готовыми решениями:

Достать информацию из бд php и вывести в блок
Есть база данных с картинками. У каждой картинки есть work_id и инфа: pic(адрес картинки), topic, about, direction и категория. ...

Как достать информацию в БД
Подскажите, пожалуйста, как достать инф с БД. Например таблица называется 'username' В таблице 2 поля - id, name. id name 1 -...

как достать информацию из XML ?
получаю xml с сайта www.rp5.ru вот пример xml http://rp5.ru/docs/xml/ru?id=2374 и как мне дальше вынуть все эти значения мне нужно тупо...

7
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
29.03.2016, 18:23
Подключите сначала require.js или определите свою функцию define.
1
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
29.03.2016, 18:29
Цитата Сообщение от Козка Посмотреть сообщение
<script type="text/javascript" src="scripts/bib.js"></script>
мне кажется вы неправильно во-первых записали это дело

а вообще-то да
перед той строкой, которую я показал, поставьте такую строку
HTML5
1
<script href="http://requirejs.org/docs/release/2.2.0/minified/require.js" data-main="main"></script>
и в main.js надо вот так делать
JavaScript
1
2
3
4
5
6
7
8
9
10
requirejs(["lib"],function(lib){
     window.onload = find_num_of_books; // у вас не вызовется сразу, как только дойдёт до этого места
// а у меня нет, потому что я ставлю ссылку на функцию
 
function find_num_of_books(){ // тут у нас не c++, фигурные ставятся по-другому, иначе не красиво
    alert("hi");
    //???? что писать - не знаю, в идеале должно быть обращение к файлу lib.js
    alert(lib.entries.Book4.title)
}
})
1
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
29.03.2016, 19:34
Лучший ответ Сообщение было отмечено Козка как решение

Решение

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
<!DOCTYPE html>
 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Main regex test</title>
    
    <script src="http://requirejs.org/docs/release/2.2.0/minified/require.js"></script>
</head>
<body>
<div>
    Number of books from year 1995: <span id="year"></span>
</div>
    <script type="text/javascript">
    require(
        ['scripts/lib'],
        function(lib){
            var e = lib.entries;
            var cnt = 0;
            for(var el in e){
                if(e[el].year == "1995")
                    cnt++;
            }
            document.getElementById("year").innerHTML = cnt;
        });
    </script>
</body>
    
</html>
1
 Аватар для Козка
1 / 1 / 0
Регистрация: 25.12.2012
Сообщений: 29
01.04.2016, 13:52  [ТС]
gooseim, а можно Вас попросить скинуть мне ссылки, которые дали Вам знания, для того, чтобы написать это обращение к файлу через require.js?

Хотелось бы не только глупо скопировать файл, но и понять, как Вы это написали

BANO, и Вы тоже.

Особенно меня заинтересовал следующий синтаксис:
JavaScript
1
requirejs(["lib"],function(lib)
и

JavaScript
1
2
3
4
5
require(
        ['scripts/lib'],
        function(lib){
            ...
            })
И ещё, BANO, а вот расстановка фигурных скобочек, как у Вас - это так принято всей ассоциацией веб-разработчиков? Или это просто Ваши предпочтения?
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
01.04.2016, 14:07
['scripts/lib'] - означает, что мы загружаем файл по адресу 'scripts/lib.js'

function(lib){
})
означает, что мы читаем ответ в переменную lib.

А ответ передает ваш скрипт scripts/lib.js таким способом:
define(...);
1
Ренегат
Эксперт HTML/CSS
 Аватар для BANO
1740 / 1085 / 386
Регистрация: 06.08.2014
Сообщений: 5,203
Записей в блоге: 1
01.04.2016, 16:59
Цитата Сообщение от Козка Посмотреть сообщение
это так принято всей ассоциацией веб-разработчиков
расстановка скобочек как в с++ для js считается у js разработчиков мовитоном
будете спорить?
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
01.04.2016, 17:53
Цитата Сообщение от BANO Посмотреть сообщение
расстановка скобочек как в с++ для js считается у js разработчиков мовитоном
Что такое мофитон? Интересное слово, не слышал.

А вообще да, так принято в JS.

Добавлено через 18 минут
*мовитон
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.04.2016, 17:53
Помогаю со студенческими работами здесь

Как достать информацию с старого жесткого диска?
Есть старый HDD, разъём ide 40пин. Хочу перекинуть с него данные на ноутбук. Для этого купил кабель USB 2.0 To IDE SATA for 2.5 3.5 HDD....

Пропали жесткие, как достать с них информацию?
Здравствуйте. недавно руки дошли до жестких, которые установлены у меня на компе. в общем история такая. есть у меня 2 жестких IDE на 80 и...

Acer iconia w510 как достать информацию если полетела видеокарта
Собственно вопрос в заголовке. Полетела видеокарта, в СЦ сказали, что замена будет стоить примерно 7к, что дофига за ремно такого...

Как реализовать директиву #define для создания шаблона отпределения #define ?
Здравствуйте уважаемые. При написании программы появилась необходимость задать шаблон создания #define через #define (извините за...

Как достать информацию из папки с названием ".."
Всем привет! Ребят помогите пожалуйста, не знаю в какую ветку написать так что сильно не пинайте. Вопрос вот в чем, я на флешке создал...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru