Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.05.2018, 11:45
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

Линейный список в js
Преподаватель дал задание написать программу которая работает как картотека в бюро обмена квартир и ее нужно сделать в виде линейного списка.
Сведения о каждой квартире включают:
количество комнат;
этаж;
площадь;
адрес.
Написать программу, которая обеспечивает:
начальное формирование картотеки;
ввод заявки на обмен;
поиск в картотеке подходящего варианта: при равенстве количества комнат и этажа и различии площадей в пределах 10% соответствующая картотека выводится и удаляется из списка, в противном случае поступившая заявка включается в список;
вывод всего списка.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.

Хочу сделать за js.
Подскажите, как сделать список в данной задачи? т.е. я сделал форму добавления данных, валидирую ее... потом попал в тупик. Данные думаю записывать в txt файл. Вопрос, где мне делать линейный список? при добавлении данных формировать их в линейный список и потом этот список писать в файл? посоветуйте.
Вот заготовки:
<form id="add">
<input type="number" id="komnat" placeholder="Количество комнат" requared>
<input type="number" id="etag" placeholder="Этаж">
<input type="text" id="ploshad" placeholder="Площадь">
<input type="number" id="adress" placeholder="Адрес">
<button onclick='takeData()'>Добавить карточку</button>
</form>

function takeData(){
			var arrayData = [];
			var flag = 1;
			arrayData[0] = document.forms["add"].elements["komnat"].value;	
			arrayData[1] = document.forms["add"].elements["etag"].value;	
			arrayData[2] = document.forms["add"].elements["ploshad"].value;	
			arrayData[3] = document.forms["add"].elements["adress"].value;
			if(arrayData[0] == ''){
				alert("Заполните количество комнат");
				flag = 0;
			}
			if(arrayData[1] == ''){
				alert("Заполните этаж");
				flag = 0;
			}
			if(arrayData[2] == ''){
				alert("Заполните площадь");
				flag = 0;
			}
			if(arrayData[3] == ''){
				alert("Заполните адресс");
				flag = 0;
			}

			if(flag == 1){
				Lists(arrayData);
			}
			
		}

		function Lists(arrayData){
			var list = {
				value: arrayData,
				next: {}
			}

			alert(list);
		}

		function readfile()
		{
			var fso,filehandle,contents;
			fso = new ActiveXObject("Scripting.FileSystemObject");
			filehandle = fso.OpenTextFile("text.txt",1);/* Открывает файл*/
			contents = filehandle.ReadAll(); /* Читает из файла и переменная contents и есть весь текст, который он считал*/
			if (contents) document.all("filecontents").value = contents; /* Вставляет в текстбокс filecontents текст contents*/
			filehandle.close();/* Закрывает файл*/
		}

		function WriteToFile()
		{
			var fso = new ActiveXObject('Scripting.FileSystemObject');
			var s = fso.CreateTextFile("text.txt", true); /* перезаписывает файл, открывает для редактирования*/
			var second = document.getElementById("filecontents").value; /* Читает из текстбокса filecontents и переменная second и есть весь текст, который он считал*/
			s.WriteLine (second); /* записывает весь текст из переменной second, имитирует Enter*/
			s.Close(); /*закрывает файл*/
		}
Ответить с цитированием
  #2 (permalink)  
Старый 27.05.2018, 12:10
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Если у вас все данные на клиенте будут храниться, то, наверное, лучше воспользоваться indexedDB.
Еще можно поизвращаться с localStorage.
Я бы хранил данные на сервере, так работать с ними удобнее будет.

Получилось у вас создать файл на ПК пользователя из окна браузера?
Вероятно нет.
Ответить с цитированием
  #3 (permalink)  
Старый 27.05.2018, 12:52
Аспирант
Отправить личное сообщение для artem55555p Посмотреть профиль Найти все сообщения от artem55555p
 
Регистрация: 16.04.2016
Сообщений: 74

Сообщение от Nexus Посмотреть сообщение
Если у вас все данные на клиенте будут храниться, то, наверное, лучше воспользоваться indexedDB.
Еще можно поизвращаться с localStorage.
Я бы хранил данные на сервере, так работать с ними удобнее будет.

Получилось у вас создать файл на ПК пользователя из окна браузера?
Вероятно нет.
я и сам не знаю где мне точно хранить данные... indexedDB - это нельзя использовать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операционная Система на JS Icat Общие вопросы Javascript 3 17.04.2018 22:54
PHP и JS формат JSON Хан AJAX и COMET 17 29.07.2016 00:23
js стиль render для react.js vflash Ваши сайты и скрипты 5 01.04.2016 22:57
Подгрузка JS + ajax... afr0 AJAX и COMET 8 10.04.2013 14:38
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28