03.07.2017, 12:56
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Да я посмотрел Ваш код работает, Но как мне использовать эту строчку по уму
data.push({data : new Date().toString()})
Когда у меня данные
var tovar_list = {
"tovar": p1,
"price": p2,
"tip": p3,
"sort": p4,
"massa": p5
};
Делаю data.push({data : new tovar_list}) не помогает
|
|
03.07.2017, 13:05
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от biryukovm
|
как мне использовать эту строчку по уму
data.push({data : new Date().toString()})
|
Никак, это просто для примера. Используйте свои, но извлекая из хранилища данные, преобразовывайте их в массив/объект, и только потом работайте с ним. Неужели до сих пор не понятно?
|
|
03.07.2017, 13:12
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Никак, это просто для примера. Используйте свои, но извлекая из хранилища данные, преобразовывайте их в массив/объект, и только потом работайте с ним. Неужели до сих пор не понятно?
|
Я же сразу написал что не профи в этих делах мне с PHP легче разбраться чем с JS
|
|
03.07.2017, 13:19
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от biryukovm
|
мне с PHP легче разбраться
|
Ну хорошо. В РНР тоже можно работать с JSON, которая и для него это строковое значение. Ваш php-сценарий получает такой json "[1,2,3]" в переменной $a. Вопрос: можно сразу получить из него значение индекса один как $a[1] или сначала нужно преобразовать json в массив - json_decode("[1,2,3]")?
|
|
03.07.2017, 13:24
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Ну хорошо. В РНР тоже можно работать с JSON, которая и для него это строковое значение. Ваш php-сценарий получает такой json "[1,2,3]" в переменной $a. Вопрос: можно сразу получить из него значение индекса один как $a[1] или сначала нужно преобразовать json в массив - json_encode("[1,2,3]")?
|
это я знаю но не могу перекидывать обработку на PHP так как уже очень много AJAX подкюючений**/*******
Я разобрался и у меня получилось использовать Ваш код под свои корректировки правильно коротко говоря вот
var tovar_list = {
"tovar": p1,
"price": p2,
"tip": p3,
"sort": p4,
"massa": p5
};
var data = localStorage.tovar_list && JSON.parse(localStorage.tovar_list) || [];
data.push(tovar_list)
localStorage.tovar_list = JSON.stringify(data);
alert(JSON.stringify(data))
Подскажите пожалуйста еще такой момент как можно удалить часть массива
А точнее полностью {"tovar": p1,"price": p2,"tip": p3,"sort": p4,"massa": p5}
Зная только данные о "tovar": p1
|
|
03.07.2017, 13:24
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от biryukovm
|
Делаю data.push({data : new tovar_list}) не помогает
|
data.push(tovar_list)
Вот только зачем? Если есть объект, свойства которого могут изменять и который нужно хранить, зачем же его прятать в массив, храните сам объект.
|
|
03.07.2017, 13:31
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от biryukovm
|
не могу перекидывать обработку на PHP так как уже очень много AJAX подкюючений
|
Оптимизируйте свои подключения, очень много, это очень плохо. Выбор стороны обработки данных также зависит не от того, что "у меня тут дохрена, поэтому не пойдет", а от целесообразности.
Сообщение от biryukovm
|
как можно удалить часть массива
|
Элемент массива так: https://developer.mozilla.org/ru/doc...s/Array/splice.
Вы что делаете, корзину товаров на клиенте?
|
|
03.07.2017, 13:40
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Оптимизируйте свои подключения, очень много, это очень плохо. Выбор стороны обработки данных также зависит не от того, что "у меня тут дохрена, поэтому не пойдет", а от целесообразности.
Элемент массива так: https://developer.mozilla.org/ru/doc...s/Array/splice.
Вы что делаете, корзину товаров на клиенте?
|
Типа корзины но не корзина это для менеджеров чтобы они фиксили в обработку тяжело обьяснить.
Я посмотрел метод splice() и прихожу к тому что мне надо в массиве создать ключь и в ключе иметь параметры и если надо удалить то что то удаляю я ключь с параметрами или можно по другому ?
И чуть не забыл как можно избавиться от добовления дублей в этом ммассиве предположим добавили торт 1,2,3 и пользователь опять жмет на 2 торт но он уже естькак его не добовлять ?
|
|
03.07.2017, 13:50
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от biryukovm
|
в массиве создать ключь
|
КЛЮЧ
Нет ключей в js-массивах, так как в JS нет ассоциативных массивов, но есть объекты, в которых свойства и будут ключами ассоциации. То есть ход вашей мысли правильный, но только не массив, а объект хранящий объекты, свойствами первичного объекта которого будут уникальные идентификаторы ваших товаров или чего-то, что "фиксят" ваши менеджеры. То есть:
var data = {
p1 : {
price: p2,
tip: p3,
sort: p4,
massa: p5
},
.....
}
если p1 и есть уникальный идентификатор. Такое хранение решит и проблему дубликатов.
Последний раз редактировалось laimas, 03.07.2017 в 13:54.
|
|
03.07.2017, 14:01
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
КЛЮЧ
если p1 и есть уникальный идентификатор. Такое хранение решит и проблему дубликатов.
|
А как перепроверку сделать на существование ил на перезапись ?
|
|
|
|