Линейный список в 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:46. |