Конструктор массива объектов и работа с ними через localStorage 
		
		
		
		Добрый день, есть вот такой код: 
	
//конструктор объекта....
function BaseObj(){
	this.name = nameCase();
	this.rest = checkCache();
}
//конструктор массива объектов
function ArrBase(){
	var datBaseArr = [];
	var length = prompt('кол - во объектов:',1);
	if(!isNumeric(length)){
		ArrBase();
	}
	for(var i = 0;i < length;i++){
		datBaseArr.push(new BaseObj());
	}
	return datBaseArr;
}
//создание локальной базы данных на основе конструктора объектов.
localStorage.setItem('bases',JSON.stringify(ArrBase()));
Вопрос мой в следующем, нужна подсказка по доработке конструктора для работы с отдельными объектами из массива. Допустим создано и записано в localStorage 3 объекта: {name:молоко,rest:8} {name:картошка,rest:3} {name:кирпич,rest:7} Как мне получить доступ к любому из них в отдельности и после манипуляций с ним изменения сохранились в localStorage?  | 
	
		
 pepel266, никак, в локальное хранилище записывается всегда строка. Т.е., чтобы что-то изменить, мы получаем строку, преобразуем в объект, что-то меняем, преобразуем обратно в строку и записываем назад. 
	Если Вы хотите, чтобы при каждом изменении свойств объекта оно автоматически обновлялось в хранилище, то придётся вешать сеттеры.  | 
	
		
 Цитата: 
	
 Не совсем разобрался с "конструкторами и прототипами" Подскажите в каком направлении двигаться в расширении конструктора BaseObj()?  | 
	
		
 pepel266, лучше так: 
	
function storageObject(itemName) {
	var object = window.localStorage.getItem(itemName);
	this.itemName = itemName;
	this.data = object ? JSON.parse(object) : {};
};
storageObject.prototype.remove = function() {
	window.localStorage.removeItem(this.itemName);
};
storageObject.prototype.save = function() {
	window.localStorage.setItem(this.itemName, JSON.stringify(this.data));
};
var base = new storageObject('base');
base.data.foo = 'bar';
base.data.one = 'two';
base.data.bla = {};
base.save();
 | 
	
		
 Спасибо! 
	 | 
	
		
 Ruslan_xDD, 
	Цитата: 
	
  | 
	
		
 Как я понял тому,что вы запишите в base.data, например: 
	base.data.foo = ArrBase(); будет создан объект foo в котором будет массив объектов созданных с помощью ArrBase().  | 
	
		
  | 
	
		
 рони, прикольно, что кто-то помнит о моей древней поделке. 
	Последний коммит сделан давно, да и тестов нету. Несмотря на эти минусы, недавно заюзал эту штуку снова, работает хорошо. Вот репка.  | 
	
		
 Цитата: 
	
 defaultDuration - че за зверь?  | 
| Часовой пояс GMT +3, время: 05:07. |