从Firebase + Firepad + Ace Editor中读取数组对象

时间:2014-11-28 14:51:15

标签: firebase ace-editor firepad

当用户在firepad的帮助下开始输入ACE编辑器时,我将数据存储到Firebase。

数据像数组一样存储在Firebase中。数组索引中的每个字符。

我只输入“Hi It”然后输入“Hi Its Nithi”然后插入“Hi Its Me Nithi”

使用-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 个答案:

没有答案