Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 06.01.2017, 09:59
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Я не понял закономерности того, чего ищется, но могу утверждать уверенно, что столько циклов для данной операции, это слишком. На вскидку, так тут вообще не нужны явные циклы, все вполне сделает array_reduce(), см. код рони, если его подправить, то это то чего и надо.
Ответить с цитированием
  #32 (permalink)  
Старый 06.01.2017, 10:00
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

laimas,
Вот только одну проблему немогу решить, 11 заказ сможете помочь?
Ответить с цитированием
  #33 (permalink)  
Старый 06.01.2017, 10:13
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Sav2907
11 заказ сможете помочь?
Нет, ибо я так и не понял чего вы ищите, что за закономерность, как эти данные связаны. А без понимания этого нет и решения. Но, то что три цикла тут не нужны, а нужно:

$count = array_reduce($employeeid, function($carry, $item) use($employeeid) {
    //тут ищем, но чего, я не понял, и суммируем результат в $carry 
}, 0);


я убежден. А может и вообще и этого не надо.
Ответить с цитированием
  #34 (permalink)  
Старый 06.01.2017, 10:27
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

laimas,
Если честно, я тоже не понимаю что вам не понятно. Берется номер и проверяется использовался он ранее, проверка в Tool1Identifier и Tool2Identifier
Ответить с цитированием
  #35 (permalink)  
Старый 06.01.2017, 10:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Sav2907,
если текущая ячейка отличается от предыдущей по таким то правилам, то return $carry++ иначе просто $carry
если правильно сформулировать правила, то даже сами справитесь, какие они эти правила, пока только догадки
Ответить с цитированием
  #36 (permalink)  
Старый 06.01.2017, 10:48
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Мне не сложно пояснить чего я не понимаю. Но начну с того, что в sql (каким sql сервером вы пользуетесь я не в курсе) существует понятие индекс. Если смотреть на вашу выборку и к примеру разрешать запись в поля Tool1Identifier и Tool2Identifier только уникальных значений, то прежде нужно ответить на вопрос "уникальности чего?", если для каждого поля, то уникальный индекс каждому полю, а если уникальность для набора двух полей, то составной индекс для этих полей.

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

$cnt = count(array_unique(array_diff(array_merge(array_column($employeeid, "Tool1Identifier"), array_column($employeeid, "Tool2Identifier")), [null])));


Но как понять тогда позицию 13 где отмечено 265, 203, если 265 ранее уже встречалось? Так что вы ищите уникальное единичное значение в обеих полях или это плюс уникальность наборов?
Ответить с цитированием
  #37 (permalink)  
Старый 06.01.2017, 10:58
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

laimas,
Представим что перед вами два стола, на одном номер 265 на втором 205 (это позиция 10). Вы забираете 265 номер и ставите еще один 205 (это позиция 11), вот это и есть замена. Одна 205 должна была быть красной
Ответить с цитированием
  #38 (permalink)  
Старый 06.01.2017, 11:04
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Нет в языке программирования понятий замена, есть к примеру уникальность. Если хотите пояснить что это такое "замена" поясните ее суть и закономерность, из приведенного выше, с пометкой красным, и с пояснений ранее я не понял ничего.
Если же пояснять категориями столов, тогда нужно пояснять сперва материю задачи, а по отрывкам.... Я понимаю, что вы понимаете того чего хотите, но я нет.
Ответить с цитированием
  #39 (permalink)  
Старый 06.01.2017, 11:17
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Ладно, буду пробовать разруливать сам до конца. В любом случае, спасибо за помощь
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите к js коду, написать html код Modrih Элементы интерфейса 8 16.06.2015 18:08
Ввод диапазона значений массива с клавиатуры Воскобоенко Общие вопросы Javascript 11 06.06.2015 22:34
Фильтр таблицы. Как удалить элемент из массива? leshiple Общие вопросы Javascript 29 13.12.2014 11:19
Сортировка массива по возрастанию другого массива. vas88811 Events/DOM/Window 4 12.01.2014 10:31
Перебор массива - вложенный цикл SWin Общие вопросы Javascript 35 27.12.2013 05:06