04.07.2017, 07:26
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Вообще охренеть. Идентификатор по параметрам товара? Это нечто. Идентификатор сущности в базе, это некое уникальное значение, которое может быть сформировано средствами SQL автоматически при добавлении сущности в базу. Делается это просто - полем типа INT с первичным ключом и автоикрементом.
Некие ключи по параметрам, это уже иное, причем если товаров много, то гарантии того, что среди них нет с одинаковыми параметрами, а значит и уникальности таких ключей нет, и все ваше накроется тазом. )
|
Я же уже описывал я не могу дергать постоянно MYSQL , да там есть поле ID это круто это реально спасает но не в моем случии у меня там идет информация как конвеер мне дали API и там нет параметра ID на который можно опереться но есть название , масса , и т.д по факту делаю мазайку из того что дают и чтобы работало
Там видете какая фишка чтобы у менеджера допустим за сегодня не повторялось значение этого товара пока он находится в работе на сайте, эту уникальность я и могу добиться с MD5
Последний раз редактировалось biryukovm, 04.07.2017 в 07:29.
|
|
04.07.2017, 07:35
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от biryukovm
|
я не могу дергать постоянно MYSQL
|
Что касается базы, то в ней есть понятие Индекс, которое уж точно вам должно быть известно. Следовательно "чем дергать по нескольким словам", это надуманная проблема при наличии индекса в нужном поле/полях.
Я не спорю, что нельзя использовать собственные значение как ключи, например это же делается в случае тегов. Но каким образом можно обеспечить уникальность в вашем случае основанных на параметрах? Конечно мне не известно многое, либо вы излагаете так, что такого просто не может быть, так как если понимать все как есть, то например:
товар А синий квадратный
товар Б зеленый круглый
товар Г синий квадратный
И если хеш по параметрам, то у товара А и Г они будут одинаковы.
Но если все у вас Ок, то как перебрать и найти показано.
|
|
04.07.2017, 07:40
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
И да, все ведь еще зависит и от того какова цель хранения. Например, если некто работает с определенным набором, то в хранилище в конечном итоге достаточно хранить только идентификаторы этого набора. При входе вновь, к базе потребуется только один запрос - загрузить сущности этих идентификаторов, и продолжать работать.
Но это к слову, так как цели ваши не известны.
|
|
04.07.2017, 07:42
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Но если все у вас Ок, то как перебрать и найти показано.
|
Да у меня уникальность получилась и работает, но я вот пытаюсь ваш метот использовать по перебору
И даже при таком
for(var i=0; i< data.length; i++) {
alert(JSON.stringify(data[i].key));
ИЛИ так
alert(data[i].key);
}
Выходит undefined
А я привык видеть что мне сравнивать
|
|
04.07.2017, 07:48
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от biryukovm
|
JSON.stringify(data[i].key)
|
Это что такое и зачем? У вас свойство key объекта, это строка, хеш, какие тут могут быть JSON.stringify(data[i].key) к ней?
var data = [
{"key":"16a3f79f7f1abc856e3a897ed5c71616","param":{"tip":"1","tip2":"tewer"}},
{"key":"1a79c7ebdb390269cca0d2675ef78204","param":{"tip":"1","tip2":"sik"}},
{"key":"83bec884740a900a86f06a0963f07e82","param":{"tip":"1","tip2":"anlo"}}
];
for(var i=0; i < data.length; i++) {
alert(data[i].key)
//если ищем в хеш определенный, то
if(data[i].key == '1a79c7ebdb390269cca0d2675ef78204') {
alert(i) //индекс в котором найден объект с данным хеш
break
}
}
|
|
04.07.2017, 08:40
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Это что такое и зачем? У вас свойство key объекта, это строка, хеш, какие тут могут быть JSON.stringify(data[i].key) к ней?
var data = [
{"key":"16a3f79f7f1abc856e3a897ed5c71616","param":{"tip":"1","tip2":"tewer"}},
{"key":"1a79c7ebdb390269cca0d2675ef78204","param":{"tip":"1","tip2":"sik"}},
{"key":"83bec884740a900a86f06a0963f07e82","param":{"tip":"1","tip2":"anlo"}}
];
for(var i=0; i < data.length; i++) {
alert(data[i].key)
//если ищем в хеш определенный, то
if(data[i].key == '1a79c7ebdb390269cca0d2675ef78204') {
alert(i) //индекс в котором найден объект с данным хеш
break
}
}
|
Я вот что то понять не могу Ваш премер идеально срабатывает переношу к себе не работает.
var data = localStorage.stavka && JSON.parse(localStorage.stavka) || [];
for(var i=0; i < data.length; i++) {
alert(data[i].key)
//если ищем в хеш определенный, то
if(data[i].key == '1a79c7ebdb390269cca0d2675ef78204') {
alert(i) //индекс в котором найден объект с данным хеш
break
}
Ничего не меняя цыкл идет это видно но по пораметру alert(data[i].key) отображает undefined
|
|
04.07.2017, 09:10
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Удивительно покалдовал и заработало видимо где-то в синтаксисе ошибка или кэш
|
|
04.07.2017, 09:17
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от biryukovm
|
это видно но по пораметру alert(data[i].key) отображает undefined
|
Это значит, что нет такого вообще, не определено. Коли тренируетесь, значит есть ошибки, и это не кеш виноват, а есть какой-то бардак в хранилище. Хранилище можно очистить все методом clear().
|
|
04.07.2017, 09:36
|
Кандидат Javascript-наук
|
|
Регистрация: 13.12.2013
Сообщений: 110
|
|
Сообщение от laimas
|
Это значит, что нет такого вообще, не определено. Коли тренируетесь, значит есть ошибки, и это не кеш виноват, а есть какой-то бардак в хранилище. Хранилище можно очистить все методом clear().
|
Я же уже написал что подправил, подскажите такой момент по удаления Вы подсказали использовать splice
я его спользую так data.splice(0, i);
Он работает и даже все хорошо но вот проблемка есть он удаляет и все последующие значения что есть в массиве, а как удалить только определенные индексы массива
|
|
04.07.2017, 09:50
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от biryukovm
|
проблемка есть он удаляет и все последующие значения что есть в массиве, а как удалить только определенные индексы массива
|
Просто внимательно прочесть о методе, его параметрах. Индекс массива в котором найдено знаем и что удалять надо один элемент тоже.
|
|
|
|