Чтение массива объектов из Firebase + Firepad + Ace Editor

Я сохраняю данные в Firebase, когда пользователь начинает печатать в редакторе ACE с помощью firepad.

Данные хранятся в Firebase как массив. Каждый символ в индексе массива.

Я просто набрал "Привет, это", затем "Привет, Нитхи", затем вставил "Привет, я, Нити"

Действительно трудно прочитать данные по ключу, значению, массиву, индексу со значением -ve.

Есть ли плагин для преобразования обрабатывать индекс?

Данные:

B11
o
    0: 7 
    1: -1
B12
o
    0: 7
    1: "N"
B13
o
    0: 8
    1: "ithi" 
B14
o
    0: 7
    1: "M"
    2: 5
B15
o
    0: 8 
    1: "e"
    2: 5

Я действительно устал от создания кода вроде:

Которые растут и становятся все более сложными.

codeTimeFirebaseRef.on('value', function(snapshot) {
        var data = snapshot.val();
        var i = 1;
        var jsonData = {};
        var jsonDataArray = {};
        async.forEach(Object.keys(data), function(key) {
          var code = data[key];
          if (code.o.length === 1) {
            if (jsonDataArray.length > 1) {
              jsonData.answer = jsonDataArray;
              codes.push(jsonData);
              i++;
              jsonData = {};
              jsonDataArray = {};
            } else {
              jsonData.index = i;
              jsonData.time = code.t;
              if (typeof code.o[0] === 'string') {
                jsonDataArray = code.o[0];
              } else if (typeof code.o[0] === 'number') {
                jsonDataArray = jsonDataArray.substring(0, code.o[0]);
              }
            }
          } else {
            if (typeof code.o[1] === 'string') {
              jsonDataArray += '' + code.o[1];
            } else if (typeof code.o[1] === 'number') {
              jsonDataArray = jsonDataArray.substring(code.o[0], code.o[1]);
            }
          }

Пожалуйста, помогите пройти.

0 ответов

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