Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Создать массив из даных массива. (https://javascript.ru/forum/misc/39846-sozdat-massiv-iz-danykh-massiva.html)

koeshiro 14.07.2013 14:24

Создать массив из даных массива.
 
Такой вот ворос.
url='http',title='title',num=1;
save=''+url+','+title+','+num+',|';
x=1;

localStorage.setItem('Nf',save);
n=localStorage.getItem('Nf');
url='http2',title='title2',num=2;
n+=''+url+','+title+','+num+',|';
localStorage.setItem('Nf',n);
n=localStorage.getItem('Nf');
save=n.split(',|');
alert(save);
num=save.length;
array=[];
	array +=save[0].split(',');	
	array +=save[1].split(',');	
	alert(typeof array);
	alert(array);
Есть вот такой ясен пень что не закоченный код. Он сохраняет в локальное хранилище данные url title num два раза. Тем самым получая строку из повторяющихся данных различающихся только цифрами. После разделяет на массивы по ,| получаем массив с двумя переменными http,title,1 и http2,title2,2 но и эти данные надо разделить на массивы. Но подскажете как?
array=[];
	array +=save[0].split(',');	
	array +=save[1].split(',');
Так не работает =(

рони 14.07.2013 14:27

Цитата:

Сообщение от koeshiro
array +=save[0].split(',');

какой + ?

http://javascript.ru/array/push

danik.js 14.07.2013 14:43

Почитай про JSON сериализацию

koeshiro 14.07.2013 20:21

Про него знаю . . . Но реализовать ведь будет сложней. После удаления данных пустые нумера не чем не заполняються, перезапись делать мутарно да и сложно, вызывает такие не желательные ошибки как не показывание последних элементов. Подобное делал =(

koeshiro 14.07.2013 20:21

Спасибо не подумал =)

danik.js 14.07.2013 21:41

koeshiro, ты о чем вобще?
var data = [{
	url: 'http://site.ru',
	title: 'title',
	num: 1
}];
localStorage.setItem('Nf',JSON.stringify(data));

var data = JSON.parse(localStorage.getItem('Nf'));
data.push({
	url: 'http://site2.ru',
	title: 'title2',
	num: 2
});
localStorage.setItem('Nf',JSON.stringify(data));

var data = JSON.parse(localStorage.getItem('Nf'));

alert(data.map(function(item){
	return '{' + Object.keys(item).map(function(key){ return key + ':' + item[key]}) + '}';
}));

koeshiro 15.07.2013 09:28

danik.js, а теперь представьте. Как с таким работать в количестве 100 чтук? Может для вас это просто, но лично я больше привык к обычным массивам.

danik.js 15.07.2013 11:56

Цитата:

Сообщение от koeshiro
привык к обычным массивам.

Ну ты наркоман. А это че не обычные чтоли? Волшебные, да?:lol:

danik.js 15.07.2013 11:58

А теперь представь что в одном твоем title или url вдруг появляется запятая или знак |. Все, приплыли?

koeshiro 15.07.2013 12:54

Цитата:

Сообщение от danik.js (Сообщение 262358)
А теперь представь что в одном твоем title или url вдруг появляется запятая или знак |. Все, приплыли?

В title ещё понимаю возможно будет запятая. Но в url это честно бред. Понимаю точка или слешь. Но подобного не будет. А вот с запятов титл и правда нужно подумать.


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