Javascript итерации по разреженному массиву

У меня есть разреженный массив (индексы не являются последовательными), например:

var testArray = { 0: "value1", 5: "value2", 10: "value3", 15: "value4" };

Я просто хотел бы перебрать каждый элемент, сделать некоторые вещи и быть в состоянии сломаться при определенных условиях.

Я новичок в Javascript и не нашел подходящего способа сделать это. Вот что я пробовал:

  1. Встроенный "для..в". Кажется, что это неправильный способ перебора массива

  2. forEachиз ECMASCRIPT5. Этот повторяется правильно, но я не могу выйти из цикла.

  3. _.each()из Underscore.js. Тот же результат, что и № 2.

  4. $.each()из JQuery. С этим я могу сломаться, вернув false, но он не будет правильно повторяться. В приведенном выше примере вместо повторения 0, 5, 10, 15 он будет выполнять итерацию 0, 1, 2, 3, 4, 5, 6 ... что, очевидно, не то, что я ожидаю.

Итак, мой вопрос: Существует ли простой способ итерации разреженного массива с возможностью прерывания цикла в Javascript или лучше использовать другую структуру данных, например хеш-таблицу? Если да, то какие рекомендации?

Спасибо!

13
задан Community 23 May 2017 в 12:34
поделиться