Пример #1
0
 _.each(data, function (d) {
   var notInKeys = _.filter(_.allKeys(d), function (k) {
     return _.indexOf(k, 'in_') !== 0;
   });
   var notOutKeys = _.filter(_.allKeys(d), function (k) {
     return _.indexOf(k, 'out_') !== 0;
   });
   net.train({
     input: _.omit(d, notInKeys),
     output: _.omit(d, notOutKeys)
   });
 });
Пример #2
0
 _.each(testData, function (td) {
   var notInKeys = _.filter(_.allKeys(td), function (k) {
     return _.indexOf(k, 'in_') !== 0;
   });
   var out = net.run(_.omit(td, notInKeys));
   outputs.push(_.extend(td, out));
 });
Пример #3
0
 _.each(td.input, function (inp, inputInd) {
   // console.log(inp);
   _.each(_.allKeys(_.omit(inp, ['gapRate', 'timeSpan', 'area', 'weather', 'timeDiff'])), function (key) {
     // console.log('in_' + key + '_t' + inp.timeDiff + '_a' + inp.area, inp[key]);
     obj['in_' + key + '_t' + inp.timeDiff + '_a' + inp.area] = inp[key];
   });
 });
Пример #4
0
function registerJson(name, json_arr, callback) {
    if (!_.isArray(json_arr)) {
        var real_json_arr = [];
        var json_length = 0;
        for (var field_name in json_arr) {
            var field = json_arr[field_name];
            json_length = json_length > field.length ? json_length : field.length;
        }
        for (var index=0; index<json_length; index++) {
            var record = {};
            for (var field_name in json_arr) {
                record[field_name] = json_arr[field_name][index];
            }
            real_json_arr.push(record);
        }
        json_arr = real_json_arr;
    }

    var keys = _.allKeys(_.first(json_arr));
    var pairs = _.pairs(_.first(json_arr));
    var schema = {};
    var RESERVED_KEY = ['on', 'emit', '_events',
                        'db', 'get', 'set', 'init',
                        'isNew', 'errors', 'schema',
                        'options', 'modelName',
                        'collection', '_pres',
                        '_posts', 'toObject'
                        ];

    _.each(pairs, function (pair) {
        var key = pair[0], value = pair[1];
        schema[key] = common.gSchema(value.constructor);
        if (_.indexOf(RESERVED_KEY, key) >= 0) {
            callback(`不可使用MongoDB保留字${key}`);
        }
    });

    MongoController.registerSchema(name, schema, 'datasets', function (err) {
        if (err) {
            logger.error("Error on register Schema.");
            logger.error(err);
        } else {
            async.each(_.values(json_arr), function(json, callback) {
                MongoController.insert('datasets', name, json, callback);
            }, function(err) {
                if (err) {
                    logger.error('Error on insert data to new collection.');
                    logger.error(err);
                    callback('服务器错误,导入数据失败');
                } else {
                    callback(null);
                }
            });
        }
    });
}
Пример #5
0
var createCsv = function (data, filename) {
  console.log('create csv', filename);
  var keys = _.allKeys(data[0]);
  var path = './data-transformed/' + filename + '.csv';
  var writer = csvWriter({ headers: keys });
  writer.pipe(fs.createWriteStream(path));
  _.each(data, function (d) {
    var line = [];
    _.each(keys, function (key) {
      line.push(d[key]);
    });
    writer.write(line);
  });
  writer.end();
};
Пример #6
0
 Json2Ts.prototype.formatCharsToTypeScript = function (jsonContent, objectName, optionalKeys) {
     var result = JSON.stringify(jsonContent, null, "\t")
         .replace(new RegExp("\"", "g"), "")
         .replace(new RegExp(",", "g"), "");
     var allKeys = _.allKeys(jsonContent);
     for (var index = 0, length_3 = allKeys.length; index < length_3; index++) {
         var key = allKeys[index];
         if (_.contains(optionalKeys, key)) {
             result = result.replace(new RegExp(key + ":", "g"), this.toLowerFirstLetter(key) + "?:");
         }
         else {
             result = result.replace(new RegExp(key + ":", "g"), this.toLowerFirstLetter(key) + ":");
         }
     }
     objectName = this.removeMajority(objectName);
     return "export interface " + objectName + " " + result;
 };
Пример #7
0
		function (allEvents, next) {
			var conflictSummary = initializeConflictSummary(req.body.timeSlot, req.body.recurrence);

			var keys = _.allKeys(allEvents);
			var conflicts = [];

			keys.forEach(function (key) {
				var events = _.sortBy(allEvents[key], 'start');
				var bool = true, timeP = 0, evP = 0;				

				while(bool) {
					var evStart	= new Date(events[evP].start);
					var evEnd	= new Date(events[evP].end);
					var tiStart	= new Date(conflictSummary[timeP].timeSlot.start);
					var tiEnd	= new Date(conflictSummary[timeP].timeSlot.end);

					if(evStart < tiEnd) {
						if(evStart > tiStart || evEnd > tiStart) {
							events[evP].emailKey = key;
							conflictSummary[timeP].conflicts.push(events[evP]);
						}

						evP++;
					} else {
						timeP++;
					}

					if(timeP >= conflictSummary.length || evP >= events.length) {
						bool = false;
					}
				}
			});

			for(var i = 0; i < conflictSummary.length; i++) {
				conflictSummary[i].freeTimes = setFreeTimes(conflictSummary[i], req.body.slotSize);
			}

			res.send(conflictSummary);
		}
Пример #8
0
 /**
  * inner function convert
  * @param object
  * @param nesting
  * @returns {*}
  */
 innerConvert(object, nesting){
     if(nesting>0) {
         var newNesting = nesting - 1;
         if (underscore.isArray(object)) {
             var newObject = [];
             for (var i = 0; i < object.length; i++) {
                 newObject[i] = this.innerConvert(object[i],newNesting);
             }
             return newObject;
         } else if (underscore.isObject(object)) {
             var allKeys = underscore.allKeys(object) || [];
             var newObject = {};
             for (var i = 0; i < allKeys.length; i++) {   // TODO TEST FOR EMPTY OBJECTS
                 var fieldName = allKeys[i];
                 newObject[fieldName] = this.innerConvert(object[fieldName],newNesting);
             }
             return newObject;
         } else {
             try {
                 if(underscore.isBoolean(object)){
                     return object;
                 }else {
                     var datedObject = new Date(object);
                     if (datedObject && !isNaN(datedObject.getTime())) {
                         return datedObject;
                     } else {
                         return object;
                     }
                 }
             } catch (err) {
                 return object;
             }
         }
     }else{
         return object;
     }
 }
Пример #9
0
 it('should register actions in the config object', () => {
   expect(_.allKeys(testThing.actions).length).to.equal(3);
 });
Пример #10
0
 it('should register events in the config object', () => {
   expect(_.allKeys(testThing.events).length).to.equal(2);
 });
Пример #11
0
'use strict';
var _ = require('underscore');

//keys / allKeys

function Student(name, age) {
    this.name = name;
    this.age = age;
}
Student.prototype.school = 'No.1 Middle School';


var xiaoming = new Student('小明', 20);
console.log(_.keys(xiaoming));  //返回一个object自身所有的key,但不包含从原型链继承下来的

console.log(_.allKeys(xiaoming));  //除了object自身的key,还包含从原型链继承下来的



console.log(_.values(xiaoming));  //返回object自身但不包含原型链继承的所有值


//mapObject
//针对object的map版本
var obj = { a: 1, b: 2, c: 3 };

console.log(_.mapObject(obj, (v, k) => 100 + v));   //注意传入的函数签名,value在前,key在后

//invert
//把object的每个key-value来个交换,key变成value,value变成key
var obj1 = {
Пример #12
0
 _.each(trainingData, function (td) {
   keys = keys.concat(_.allKeys(td));
   keys = _.uniq(keys);
 });
Пример #13
0
_.once(function () {});

_.after(1, function () {});

_.before(1, function () {});

_.wrap(function (name) {return 'hello: ' + name;}, function(func) {return 'before, ' + func('moe') + ', after';});

_.negate(Boolean);

function Stooge(name) {
	this.name = name;
}
Stooge.prototype.silly = true;
_.allKeys(new Stooge('Moe'));

_.invert({Moe: 'Moses', Larry: 'Louis', Curly: 'Jerome'});

_.functions(_);

_.extend({name: 'moe'}, {age: 50});

/* starting with 1.8
_.extendOwn({name: 'moe'}, {age: 50});
_.assign({name: 'moe'}, {age: 50});
*/

_.defaults({flavor: 'chocolate'}, {flavor: 'vanilla', sprinkles: 'lots'});

_.isMatch({name: 'moe', age: 32}, {age: 32});