2013-08-26 3 views
0

У меня есть массив структур в моем скрипте, и мне нужно проверить внутри всего массива структур, если где-то внутри структуры, ключ «id» имеет определенное значение.Найти значение в массиве structs

Я мог бы сделать это с помощью цикла, но есть ли лучший/более быстрый способ сделать это? Обратите внимание, что он должен быть совместим с ColdFusion 8, поэтому ArrayFind недоступен.

+0

Лучше каким образом? Является ли массив _really_ произвольной структурой? Почему бы не привести пример того, как он выглядит? Каков источник данных? –

ответ

4

Как говорит Питер, это трудно сказать определенно, учитывая недостаток информации при условии, но если ключевого значения, вероятно, будет уникальными в структуре данных, вы можете использовать structFindValue(), чтобы найти его. Проблема здесь в том, что она не обращает внимания на КЛЮЧ, в котором находится значение. Я не знаю, что думали Adobe/Macromedia при предоставлении structFindKey() и structFindValue(), но не structFindKeyValue().

По прихоти я проверил CFLib, чтобы увидеть, есть ли UDF для покрытия этой земли. Мало того, что он один, кажется, я его написал (моя память иногда похожа на сито): structFindKeyWithValue(). Это написано для CF9, но не стоит слишком много перекладывать его на CF8.

Это немного общий ответ. Если вы предоставите лучшую информацию, мы сможем дать лучший ответ.

+1

10 баллов за использование слова «малочисленность» в предложении. красиво сделано :) –

+0

Я согласен с 10 очками за использование «paucity». Но я думаю, что Адам должен получить еще 10 баллов за то, что он показал знаки истинного разработчика. Он увидел проблему, подумал: «Для этого должен быть UDF», посмотрел и нашел UDF, который он сам написал. Именно поэтому я всегда люблю читать Адама. :-) – Shawn