Линейный список в 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(); /*закрывает файл*/ } |
Если у вас все данные на клиенте будут храниться, то, наверное, лучше воспользоваться indexedDB.
Еще можно поизвращаться с localStorage. Я бы хранил данные на сервере, так работать с ними удобнее будет. Получилось у вас создать файл на ПК пользователя из окна браузера? Вероятно нет. |
Цитата:
|
Часовой пояс GMT +3, время: 15:24. |