Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 04.07.2017, 07:26
Кандидат Javascript-наук
Отправить личное сообщение для biryukovm Посмотреть профиль Найти все сообщения от biryukovm
 
Регистрация: 13.12.2013
Сообщений: 110

Сообщение от laimas Посмотреть сообщение
Вообще охренеть. Идентификатор по параметрам товара? Это нечто. Идентификатор сущности в базе, это некое уникальное значение, которое может быть сформировано средствами SQL автоматически при добавлении сущности в базу. Делается это просто - полем типа INT с первичным ключом и автоикрементом.

Некие ключи по параметрам, это уже иное, причем если товаров много, то гарантии того, что среди них нет с одинаковыми параметрами, а значит и уникальности таких ключей нет, и все ваше накроется тазом. )
Я же уже описывал я не могу дергать постоянно MYSQL , да там есть поле ID это круто это реально спасает но не в моем случии у меня там идет информация как конвеер мне дали API и там нет параметра ID на который можно опереться но есть название , масса , и т.д по факту делаю мазайку из того что дают и чтобы работало


Там видете какая фишка чтобы у менеджера допустим за сегодня не повторялось значение этого товара пока он находится в работе на сайте, эту уникальность я и могу добиться с MD5

Последний раз редактировалось biryukovm, 04.07.2017 в 07:29.
Ответить с цитированием
  #32 (permalink)  
Старый 04.07.2017, 07:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от biryukovm
я не могу дергать постоянно MYSQL
Что касается базы, то в ней есть понятие Индекс, которое уж точно вам должно быть известно. Следовательно "чем дергать по нескольким словам", это надуманная проблема при наличии индекса в нужном поле/полях.

Я не спорю, что нельзя использовать собственные значение как ключи, например это же делается в случае тегов. Но каким образом можно обеспечить уникальность в вашем случае основанных на параметрах? Конечно мне не известно многое, либо вы излагаете так, что такого просто не может быть, так как если понимать все как есть, то например:

товар А синий квадратный
товар Б зеленый круглый
товар Г синий квадратный

И если хеш по параметрам, то у товара А и Г они будут одинаковы.

Но если все у вас Ок, то как перебрать и найти показано.
Ответить с цитированием
  #33 (permalink)  
Старый 04.07.2017, 07:40
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

И да, все ведь еще зависит и от того какова цель хранения. Например, если некто работает с определенным набором, то в хранилище в конечном итоге достаточно хранить только идентификаторы этого набора. При входе вновь, к базе потребуется только один запрос - загрузить сущности этих идентификаторов, и продолжать работать.

Но это к слову, так как цели ваши не известны.
Ответить с цитированием
  #34 (permalink)  
Старый 04.07.2017, 07:42
Кандидат Javascript-наук
Отправить личное сообщение для biryukovm Посмотреть профиль Найти все сообщения от biryukovm
 
Регистрация: 13.12.2013
Сообщений: 110

Сообщение от laimas Посмотреть сообщение
Но если все у вас Ок, то как перебрать и найти показано.
Да у меня уникальность получилась и работает, но я вот пытаюсь ваш метот использовать по перебору
И даже при таком
for(var i=0; i< data.length; i++) {
alert(JSON.stringify(data[i].key));

ИЛИ так

alert(data[i].key);

}

Выходит undefined
А я привык видеть что мне сравнивать
Ответить с цитированием
  #35 (permalink)  
Старый 04.07.2017, 07:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от 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
    }
}
Ответить с цитированием
  #36 (permalink)  
Старый 04.07.2017, 08:40
Кандидат Javascript-наук
Отправить личное сообщение для biryukovm Посмотреть профиль Найти все сообщения от biryukovm
 
Регистрация: 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
Ответить с цитированием
  #37 (permalink)  
Старый 04.07.2017, 09:10
Кандидат Javascript-наук
Отправить личное сообщение для biryukovm Посмотреть профиль Найти все сообщения от biryukovm
 
Регистрация: 13.12.2013
Сообщений: 110

Удивительно покалдовал и заработало видимо где-то в синтаксисе ошибка или кэш
Ответить с цитированием
  #38 (permalink)  
Старый 04.07.2017, 09:17
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от biryukovm
это видно но по пораметру alert(data[i].key) отображает undefined
Это значит, что нет такого вообще, не определено. Коли тренируетесь, значит есть ошибки, и это не кеш виноват, а есть какой-то бардак в хранилище. Хранилище можно очистить все методом clear().
Ответить с цитированием
  #39 (permalink)  
Старый 04.07.2017, 09:36
Кандидат Javascript-наук
Отправить личное сообщение для biryukovm Посмотреть профиль Найти все сообщения от biryukovm
 
Регистрация: 13.12.2013
Сообщений: 110

Сообщение от laimas Посмотреть сообщение
Это значит, что нет такого вообще, не определено. Коли тренируетесь, значит есть ошибки, и это не кеш виноват, а есть какой-то бардак в хранилище. Хранилище можно очистить все методом clear().


Я же уже написал что подправил, подскажите такой момент по удаления Вы подсказали использовать splice

я его спользую так data.splice(0, i);
Он работает и даже все хорошо но вот проблемка есть он удаляет и все последующие значения что есть в массиве, а как удалить только определенные индексы массива
Ответить с цитированием
  #40 (permalink)  
Старый 04.07.2017, 09:50
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от biryukovm
проблемка есть он удаляет и все последующие значения что есть в массиве, а как удалить только определенные индексы массива
Просто внимательно прочесть о методе, его параметрах. Индекс массива в котором найдено знаем и что удалять надо один элемент тоже.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод JSON Объекта из localStorage Философ Общие вопросы Javascript 36 12.09.2015 11:32
Удаление / добавление JSON Alexander Belov Events/DOM/Window 16 01.05.2015 23:51
Не могу распарсить JSON. gorenie jQuery 3 29.11.2013 22:26
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
jQuery. Обработка ошибок и JSON. mma_mma jQuery 3 19.07.2010 12:10