Как лучше всего выполнить проверку на стороне клиента для массива среднего размера

Обзор:
У меня есть массив из 20-байтовых строк, которые необходимо сохранить на веб-странице для использования при проверке ввода пользователя. Я предполагаю, что в этом массиве будет от 25 до 1000 элементов.

Соображения:
1. Веб-клиент представляет собой мобильное устройство с уменьшенной памятью и процессором. 2. Я ограничен только проверкой на стороне клиента (сейчас для нас это техническое ограничение) .
3. Безопасность не является проблемой - я понимаю, что пользователь может просматривать исходный код. 4. Я не хочу показывать массив пользователю. Я только хочу, чтобы пользователь ввел значение, а затем я перебираю массив, чтобы увидеть, есть ли совпадение. Если совпадений нет, я отправлю пользователю окно сообщения javascript.

Вопрос:
Как лучше всего хранить и перебирать эти данные?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
197
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вместо повторения используйте ассоциативный массив и проверьте наличие этого элемента:

var myChunks=[]
myChunks['aabbccdd...'] = true

Затем вы можете проверить наличие введенного значения простым тестом. Никаких петель не требуется:

if (myChunks[myValue]) {
   //found the value
}
else {
  // did not find value
}

Предполагалось, что в приведенном выше примере указано var myChunks = {}, а не []? Кажется странным объявлять что-то как массив, но рассматривать это как dict, хотя это будет работать.

runeh 31.12.2008 03:23

Кроме того, в современных браузерах может показаться более понятным использование метода array.indexOf (из js 1.6). Может быть: chunks = ["foo", "bar", "baz"]; if (chunks.indexOf (something) == -1) {alert ("не найдено!")}. См. developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objec‌ ts /…

runeh 31.12.2008 03:26

myChunks = {} - это объект, myChunks = [] - это то же самое, что и "new Array ()"

Diodeus - James MacFarlane 31.12.2008 18:42

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

runeh 03.01.2009 05:05

Другие вопросы по теме