首页 > 解决方案 > Angular2 + / Typescript中的Lodash - groupBy在尝试传递参数时无法调用其类型缺少调用签名的表达式?

问题描述

Stackblitz在这里:

https://stackblitz.com/edit/angular-qbpnqc

import { Component, OnInit } from '@angular/core';
import _ from "lodash";

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit  {
  array: [
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",
    },
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",
    },
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",

    },
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",


    },
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",


    },
    {
        "BookingId": 0,
        "OrderNumber": "331049910611",
        "ArrivalTime": "07:00:00",
        "DepartureTime": "14:00:00",
        "Duration": "07:00:00",

        "DeliveryStatus": "Accepted"
    },
    {
        "BookingId": 59088,
        "OrderNumber": "691",
        "ArrivalTime": "11:00:00",
        "DepartureTime": "12:00:00",
        "Duration": "01:00:00",

        "DeliveryStatus": "Accepted"
    }
];

countSmth: any;

ngOnInit() {

  // not working
  console.log( _(this.array).groupBy('DeliveryStatus').values().map(
      (group) => ({ ...group[0], qty: group.length }).value()
    ));
}



}

标签: javascriptangulartypescriptunderscore.jslodash

解决方案


问题是它array被声明为一个非常复杂的类型(在冒号之后),但实际上并没有被初始化,所以它是undefined. 替换array:array =


推荐阅读