Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Непонятки с масивом. (https://javascript.ru/forum/misc/40235-neponyatki-s-masivom.html)

koeshiro 29.07.2013 14:53

Что получить? Взять данные из локального хранилища. Удалить не нужные данные выбраные пользователем сохранить оставшиеся данные.

рони 29.07.2013 15:10

Цитата:

Сообщение от koeshiro
Что получить?

массив или строку?
проблему с underfined я вам решил в 4 посте осталось понять что вам нужно.

koeshiro 29.07.2013 15:35

А да. . . Он не подходит только потому что будет сложно создавать элеенты имея всего один массив не имея двумерного массива. НУ или покрайней мере мне так кажеться. . . . Но я поработаю над этим спасибо =) Жаль плюсик вам не могу поставить.

рони 29.07.2013 15:56

Цитата:

Сообщение от koeshiro
Он не подходит только потому что будет сложно создавать элеенты имея всего один массив не имея двумерного массива

эх переводчика бы ))) понять бы про какие массивы вы говорите

koeshiro 30.07.2013 13:24

рони,
ну скажу вам так. Я решил сделать модуль "мои закладки или моё избраное" на базе локального хранилища. И решил задать скрипту ммм следующие действия. Сохранение---если локальное хранилище пустое---хохраняем туда титл страницы на которой находимся и её url если локальное хранилище не пусто --- берём даные из локального хранилища добавляем туда титл и url и снова сохраняем под тем же именем. Вывод даных--- получаем даные из локального хранилища --- разбиваем на массивы ---- узнаём их количество --- снова разбиваем на массивы для получения двумерных массивов то есть data[n][0] и data[n][1] в которых храняться титл и url и с этими даными создаём html строку и выводим её.
Удаление --- берём номер из события onclick дива с надписью удалить вызываем даные из локального хранилища превращаем в массив и удаляем не нужную его часть. после снова превращаем в строку и сохраняем в локальное хранилище.

koeshiro 30.07.2013 13:38

Короче говоря получилось теперь вот так.
/*Сохранение*/	
	function save(){
	localdata=localStorage.getItem('LF');
	if(localdata==null){
	MyUrl=location.href;
	MyTitle=document.title;
	newlocaldata='';
	newlocaldata+=MyUrl;
	newlocaldata+='^';
	newlocaldata+=MyTitle;
	newlocaldata+='^';
	newlocalStorage.setItem('LF',newlocaldata);alert('true')}
	else{
	MyUrl=location.href;
	MyTitle=document.title;
	newlocaldata=localdata;
	newlocaldata+=MyUrl;
	newlocaldata+='^';
	newlocaldata+=MyTitle;
	newlocaldata+='^';
	localStorage.setItem('LF',newlocaldata);alert('false')}}
/*--------*/
/*Вывод*/
function remlocaldata(){
	localdata=localStorage.getItem('LF');
	data=localdata.split('^');
	num=data.length;n=0;
	while(n<num-1){
	url=data[n];
	n++;
	title=data[n];
	html='<div id="aclick'+n+'"><a href="'+url+'">'+title+'</a> <div onclick="datadelt('+n+')"><br />Удалить '+title+'<br /> <br /></div></div>';
	document.write(html);
	n++;}
	}
/*--------*/
/*Удаление*/
	function datadelt(d){
	localdata=localStorage.getItem('LF');
	data=localdata.split('^');
	delete data[d];
	delete data[d+1];
	newlocaldata=data.join('^');
	localStorage.setItem('LF',newlocaldata);
	a='aclick'+d+'';document.getElementById(a).parentNode.removeChild(document.getElementById(a));
	}
/*-----------*/save();remlocaldata();
Но что-то снова не так. . . .

рони 30.07.2013 13:46

koeshiro,
ок алгоритм понятен теперь снова да ладом --
var str = 'значение' ; было
var data = [значение]; стало
чего то удалили новая
data = [значение]; заполните хотябы один образец для примера.

koeshiro 30.07.2013 13:58

да да . . . Дело по большей мере в моей не внимательности . . . там название не такое. . . тут не сохранил. . .

koeshiro 30.07.2013 13:59

Это я поправил. . . . Но теперь проблема в другом. После удаления остаёться пробел! То есть пустое место после обнавления страницы. Где написано просто удалить.

рони 30.07.2013 14:48

koeshiro,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<script>
 /*Сохранение*/
	function save(){
	localdata=localStorage.getItem('LF');
	if(!localdata){
	MyUrl=location.href;
	MyTitle=document.title;
	var newlocaldata='';
	newlocaldata+=MyUrl;
	newlocaldata+='^';
	newlocaldata+=MyTitle;
	//newlocaldata+='^';
	localStorage.setItem('LF',newlocaldata)}
	else{
	MyUrl=location.href;
	MyTitle=document.title;
	newlocaldata=localdata;
    newlocaldata+='^';
    newlocaldata+=MyUrl;
	newlocaldata+='^';
	newlocaldata+=MyTitle;
	localStorage.setItem('LF',newlocaldata)};

    }
/*--------*/
/*Вывод*/
function remlocaldata(){
	localdata=localStorage.getItem('LF');
	data=localdata.split('^');
	num=data.length;n=0;
	while(n<num-1){
	url=data[n];
	n++;
	title=data[n];
	html='<div id="aclick'+n+'"><a href="'+url+'">'+title+'</a> <div onclick="datadelt('+n+')"><br />Удалить '+title+'<br /> <br /></div></div>';
	document.write(html);
	n++;}
	}
/*--------*/
/*Удаление*/
	function datadelt(d){
	localdata=localStorage.getItem('LF');
	data=localdata.split('^'); alert('data до удаления: ' + data)
	data.splice( d-1,2);   alert('data после удаления: ' + data);
	newlocaldata=data.join('^');
	localStorage.setItem('LF',newlocaldata);
	a='aclick'+d+'';document.getElementById(a).parentNode.removeChild(document.getElementById(a));
	}
/*-----------*/save();remlocaldata();

</script>
</body>

</html>


Часовой пояс GMT +3, время: 16:17.