當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript underscore.each函數代碼示例

本文整理匯總了TypeScript中underscore.each函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript each函數的具體用法?TypeScript each怎麽用?TypeScript each使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了each函數的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: buildModuleNavigationLinks

       function buildModuleNavigationLinks(extensionModule: any){
           if(extensionModule.navigation && extensionModule.navigation.length >0){

               _.each(extensionModule.navigation,function(menu: any) {
                   var group = menu.toggleGroupName;
                  if(group != undefined && group != null){
                      if(menuMap[group] == undefined){
                          menuMap[group] = menu
                          if(menu.links == undefined || menu.links == null) {
                              menu.links = [];
                          }
                      }
                      else {
                          _.each(menu.links,function(link: any){
                              menuMap[group].links.push(link);
                          })

                      }
                  }

               });
           }

           if(extensionModule.feedNavigation && extensionModule.feedNavigation.length >0) {
               _.each(extensionModule.feedNavigation,function(feedNav: any) {
                   feedNavigationMap[feedNav.linkText] = feedNav;
               });
           }

           if(extensionModule.templateNavigation && extensionModule.templateNavigation.length >0) {
               _.each(extensionModule.templateNavigation,function(templateNav: any) {
                   templateNavigationMap[templateNav.linkText] = templateNav;
               });
           }
       }
開發者ID:prashanthc97,項目名稱:kylo,代碼行數:35,代碼來源:AngularModuleExtensionService.ts

示例2: it

    it('Functor 2: fmap (f . g) = fmap f . fmap g', () => {
        var f = (x: number) => x * 2,
            g = (x: number) => x - 3;

        _.each([ Maybe.just(10), Maybe.nothing<number>() ],
            t => {
                var lhs = t.fmap(f).fmap(g),
                    rhs = t.fmap(x => g(f(x)));
                assert.ok(lhs.equals(rhs));
            });

        _.each([ Either.right<string,number>(10), Either.left<string,number>('oook') ],
            t => {
                var lhs = t.fmap(f).fmap(g),
                    rhs = t.fmap(x => g(f(x)));
                assert.ok(lhs.equals(rhs));
            });

        _.each([ Writer.writer(['(^_^)'], 99) ],
            t => {
                var lhs = t.fmap(f).fmap(g),
                    rhs = t.fmap(x => g(f(x)));
                assert.ok(lhs.equals(rhs));
            });
    });
開發者ID:aitoroses,項目名稱:TsMonad,代碼行數:25,代碼來源:monad.ts

示例3: linkData

    private linkData(participants:Participant[], requests:Request[], connections:Connection[]) {
        var participantsById = {};
        _.each(participants, (p:Participant) => {
            participantsById[p.registration_id] = p;
        });

        _.each(requests, (r: Request) => {
            var participant = participantsById[r._participant_id];
            if(participant){
                r._participant = participant;
                participant._request = r;
            } else {
                this.err.fire('Critical error: No Participant found with the specified id(' + r._participant_id
                    + ') for the connection with the Request(#' + r.id + ')');
            }
        });

        _.each(connections, (c: Connection) => {
            var participant = participantsById[c._participant_id];
            if(participant){
                c._participant = participant;
                participant._connection = c;
            } else {
                this.err.fire('Critical error: No Participant found with the specified id(' + c._participant_id
                    + ') for the connection with the Connection(#' + c.id + ')');
            }
        });
    }
開發者ID:it7-solutions,項目名稱:networking-public-plugin,代碼行數:28,代碼來源:data-manager.service.ts

示例4: optimalLoadout

export function optimalLoadout(applicableItems: DimItem[], bestItemFn: (item: DimItem) => number, name: string): Loadout {
  const itemsByType = _.groupBy(applicableItems, 'type');

  // Pick the best item
  let items = _.mapObject(itemsByType, (items) => _.max(items, bestItemFn));

  // Solve for the case where our optimizer decided to equip two exotics
  const getLabel = (i) => i.equippingLabel;
  // All items that share an equipping label, grouped by label
  const overlaps: _.Dictionary<DimItem[]> = _.groupBy(Object.values(items).filter(getLabel), getLabel);
  _.each(overlaps, (overlappingItems) => {
    if (overlappingItems.length <= 1) {
      return;
    }

    const options: _.Dictionary<DimItem>[] = [];
    // For each item, replace all the others overlapping it with the next best thing
    for (const item of overlappingItems) {
      const option = copy(items);
      const otherItems = overlappingItems.filter((i) => i !== item);
      let optionValid = true;

      for (const otherItem of otherItems) {
        // Note: we could look for items that just don't have the *same* equippingLabel but
        // that may fail if there are ever mutual-exclusion items beyond exotics.
        const nonExotics = itemsByType[otherItem.type].filter((i) => !i.equippingLabel);
        if (nonExotics.length) {
          option[otherItem.type] = _.max(nonExotics, bestItemFn);
        } else {
          // this option isn't usable because we couldn't swap this exotic for any non-exotic
          optionValid = false;
        }
      }

      if (optionValid) {
        options.push(option);
      }
    }

    // Pick the option where the optimizer function adds up to the biggest number, again favoring equipped stuff
    if (options.length > 0) {
      const bestOption = _.max(options, (opt) => sum(Object.values(opt), bestItemFn));
      items = bestOption;
    }
  });

  // Copy the items and mark them equipped and put them in arrays, so they look like a loadout
  const finalItems: { [type: string]: DimItem[] } = {};
  _.each(items, (item, type) => {
    const itemCopy = copy(item);
    itemCopy.equipped = true;
    finalItems[type.toLowerCase()] = [itemCopy];
  });

  return {
    classType: -1,
    name,
    items: finalItems
  };
}
開發者ID:delphiactual,項目名稱:DIM,代碼行數:60,代碼來源:loadout-utils.ts

示例5: each

 elem.on('click', () => {
   const elements: HTMLElement[] = [];
   each(valueElements, valueElement => {
     elements.push(valueElement.build().el);
   });
   each(elements, el => {
     $$(el).insertBefore(elem.el);
   });
   elem.detach();
 });
開發者ID:coveo,項目名稱:search-ui,代碼行數:10,代碼來源:BreadcrumbValuesList.ts

示例6: _next

    function _next():void {
      if (queue.length > 0) {
        var exec = queue.shift();
        var result = app.converter.convert(exec.src, app.settings);
        var reflectionsIndex:string[] = [];

        // Copy base template
        wrench.copyDirSyncRecursive('data/templates/site', exec.dest, {
          forceDelete: true
        });

        //// Generate reflection json files
        //result.project.children.forEach((c:any) => {
        //  var fileName = c.name.replace(/"/g, '') + '.json';
        //  var fileFullName = path.join(exec.dest, fileName);
        //  reflectionsIndex.push(fileName);
        //  grunt.file.write(fileFullName, JSON.stringify(c.toObject(), null, 2));
        //  grunt.log.writeln('File "' + fileFullName + '" created.');
        //});

        // Generate project metadata file
        var modules = enumerateModules(result.project);
        var classes = buildClasses(modules);
        var enumerations = buildEnumerations(modules);
        var interfaces = buildInterfaces(modules);
        var indexFile:string = path.join(exec.dest, "metadata.js");

        var indexObject = {
          reflections: reflectionsIndex,
          modules: buildModules(modules),
          entities: buildEntities(exec.dest,entities)
        };

        _.each(classes, (c:any) => {
          var classFile:string = path.join(exec.dest, "data/classes", c.name + '.json');
          grunt.file.write(classFile, JSON.stringify(c.data, null, 2));
        });
        _.each(enumerations, (c:any) => {
          var classFile:string = path.join(exec.dest, "data/enumerations", c.name + '.json');
          grunt.file.write(classFile, JSON.stringify(c.data, null, 2));
        });
        _.each(interfaces, (c:any) => {
          var classFile:string = path.join(exec.dest, "data/interfaces", c.name + '.json');
          grunt.file.write(classFile, JSON.stringify(c.data, null, 2));
        });
        var jsSlug = "DocsApp.constant('METADATA', " + JSON.stringify(indexObject, null, 2) + ");";
        grunt.file.write(indexFile, jsSlug);
        grunt.log.writeln('File "' + indexFile + '" created.');

        return _next();
      }
      _done();
    }
開發者ID:justindujardin,項目名稱:pow2,代碼行數:53,代碼來源:docs.ts

示例7: update

    /**
     * Update the contents of this view
     *
     * Called when the model is changed.  The model may have been
     * changed by another view or by a state update from the back-end.
     */
    update(options?) {
        var view = this;
        var items = this.model.get('_options_labels');
        var radios = _.pluck(
            this.container.querySelectorAll('input[type="radio"]'),
            'value'
        );
        var stale = false;

        for (var i = 0, len = items.length; i < len; ++i) {
            if (radios[i] !== items[i]) {
                stale = true;
                break;
            }
        }

        if (stale && (options === undefined || options.updated_view !== this)) {
            // Add items to the DOM.
            this.container.textContent = '';
            _.each(items, function(item: any) {
                var label = document.createElement('label');
                label.textContent = item;
                view.container.appendChild(label);

                var radio = document.createElement('input');
                radio.setAttribute('type', 'radio');
                radio.value = item;
                radio.setAttribute('data-value', encodeURIComponent(item));
                label.appendChild(radio);
            });
        }
        var description = this.model.get('description');
        if (description.length === 0) {
            this.label.style.display = 'none';
        } else {
            this.label.textContent = description;
            this.typeset(this.label, description);
            this.label.style.display = '';
        }
        _.each(items, function(item: any) {
            var item_query = 'input[data-value="' +
                encodeURIComponent(item) + '"]';
            var radio = view.container.querySelectorAll(item_query);
            if (radio.length > 0) {
              var radio_el = radio[0] as HTMLInputElement;
              radio_el.checked = view.model.get('selected_label') === item;
              radio_el.disabled = view.model.get('disabled');
            }
        });
        return super.update(options);
    }
開發者ID:Lomascolo,項目名稱:ipywidgets,代碼行數:57,代碼來源:widget_selection.ts

示例8: function

    success: (data) => {
      if(data.success) {
        _.each(params.successActions, function(action) {
          dispatch(action(params.data, data))
        })
      } else {
        _.each(params.failureActions, function(action) {
          dispatch(action(params.data, data))
        })

        // always flash the error
        dispatch(notifyError(data.errors.join(' ')))
      }
    },
開發者ID:btgaffor,項目名稱:better-than-envelopes,代碼行數:14,代碼來源:util.ts

示例9: moment

            data.setupFeedHealth = (feedsArray: any)=>{
             var processedFeeds: any[] = [];
             if(feedsArray) {
                     var processed: any[] = [];
                     var arr: any[] = [];
                     _.each(feedsArray,  (feedHealth: any) =>{
                         //pointer to the feed that is used/bound to the ui/service
                         var feedData = null;
                         if (data.feedSummaryData[feedHealth.feed]) {
                             feedData = data.feedSummaryData[feedHealth.feed]
                             angular.extend(feedData, feedHealth);
                             feedHealth = feedData;
                         }
                         else {
                             data.feedSummaryData[feedHealth.feed] = feedHealth;
                             feedData = feedHealth;
                         }
                         arr.push(feedData);

                         processedFeeds.push(feedData);
                         if (feedData.lastUnhealthyTime) {
                             feedData.sinceTimeString = moment(feedData.lastUnhealthyTime).fromNow();
                         }

                        this.OpsManagerFeedService.decorateFeedSummary(feedData);
                         if(feedData.stream == true && feedData.feedHealth){
                             feedData.runningCount = feedData.feedHealth.runningCount;
                             if(feedData.runningCount == null){
                                 feedData.runningCount =0;
                             }
                         }

                         if(feedData.running){
                             feedData.timeSinceEndTime = feedData.runTime;
                             feedData.runTimeString = '--';
                         }
                          processed.push(feedData.feed);
                     });
                     var keysToRemove=_.difference(Object.keys(data.feedSummaryData),processed);
                     if(keysToRemove != null && keysToRemove.length >0){
                         _.each(keysToRemove,(key: any)=>{
                             delete  data.feedSummaryData[key];
                         })
                     }
                     data.feedsArray = arr;
                 }
                 return processedFeeds;

         };
開發者ID:prashanthc97,項目名稱:kylo,代碼行數:49,代碼來源:OpsManagerDashboardService.ts


注:本文中的underscore.each函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。