【问题标题】:Angular how to count numbers of array in arrayAngular如何计算数组中的数组数量
【发布时间】:2019-07-15 10:36:07
【问题描述】:

在 Angular 应用程序中,我需要显示数组中的数组数量。

例子

 {
            "city_name": "LAHORE",
            "family_members": [
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11128",
                    "gender": "F",
                    "name": "IREM NILGUN",
                    "age": "34",
                    "relationship": "Wife"
                },
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11129",
                    "gender": "F",
                    "name": "DEFNE ALINA",
                    "age": "4",
                    "relationship": "Daughter"
                },
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11130",
                    "gender": "M",
                    "name": "OMER KARAN",
                    "age": "1",
                    "relationship": "Son"
                }
            ]
        },
        {
            "city_name": "LAHORE",
            "family_members": [
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5933",
                    "gender": "F",
                    "name": "RAFIA SAQIB",
                    "age": "2",
                    "relationship": "Daughter"
                },
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5934",
                    "gender": "M",
                    "name": "MUHAMMAD MAAZ",
                    "age": "10",
                    "relationship": "Son"
                },
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5935",
                    "gender": "F",
                    "name": "GULZAREEN SAQIB",
                    "age": "29",
                    "relationship": "Wife"
                },
                {
                    "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5936",
                    "gender": "M",
                    "name": "MUSAB SAQIB",
                    "age": "8",
                    "relationship": "Son"
                }
            ]
        }

因为有 2 个数组,并且数组中有家庭成员的数组。 在第一个数组中我有 3 个家庭成员,在 2 个数组中我有 4 个家庭成员。

我只需要计算数组的家庭成员。就像结果将是 7 一样。

【问题讨论】:

    标签: angular


    【解决方案1】:

    试试这个:

    const data = [{ "city_name": "LAHORE", "family_members": [ { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11128", "gender": "F", "name": "IREM NILGUN", "age": "34", "relationship": "Wife" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11129", "gender": "F", "name": "DEFNE ALINA", "age": "4", "relationship": "Daughter" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11130", "gender": "M", "name": "OMER KARAN", "age": "1", "relationship": "Son" } ] }, { "city_name": "LAHORE", "family_members": [ { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5933", "gender": "F", "name": "RAFIA SAQIB", "age": "2", "relationship": "Daughter" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5934", "gender": "M", "name": "MUHAMMAD MAAZ", "age": "10", "relationship": "Son" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5935", "gender": "F", "name": "GULZAREEN SAQIB", "age": "29", "relationship": "Wife" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5936", "gender": "M", "name": "MUSAB SAQIB", "age": "8", "relationship": "Son" } ] }]
            
    const result  =  data.map(res=>res.family_members.length).reduce((acc,ele)=>acc+ele,0);
    
    console.log(result);

    【讨论】:

      【解决方案2】:
      let memberCount = 0;
      const familyObj = {
                  "city_name": "LAHORE",
                  "family_members": [
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11128",
                          "gender": "F",
                          "name": "IREM NILGUN",
                          "age": "34",
                          "relationship": "Wife"
                      },
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11129",
                          "gender": "F",
                          "name": "DEFNE ALINA",
                          "age": "4",
                          "relationship": "Daughter"
                      },
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11130",
                          "gender": "M",
                          "name": "OMER KARAN",
                          "age": "1",
                          "relationship": "Son"
                      }
                  ]
              },
              {
                  "city_name": "LAHORE",
                  "family_members": [
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5933",
                          "gender": "F",
                          "name": "RAFIA SAQIB",
                          "age": "2",
                          "relationship": "Daughter"
                      },
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5934",
                          "gender": "M",
                          "name": "MUHAMMAD MAAZ",
                          "age": "10",
                          "relationship": "Son"
                      },
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5935",
                          "gender": "F",
                          "name": "GULZAREEN SAQIB",
                          "age": "29",
                          "relationship": "Wife"
                      },
                      {
                          "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5936",
                          "gender": "M",
                          "name": "MUSAB SAQIB",
                          "age": "8",
                          "relationship": "Son"
                      }
                  ]
              }
      
      
      for (let family in familyObj) {
       if (familyObj[familyObj].family_members && familyObj[familyObj].family_members.length) {
        memberCount += familyObj[familyObj].family_members.length;
       }
      }
      

      请试试这个代码。

      我希望它会有所帮助。

      【讨论】:

        【解决方案3】:

        感谢您的提问。

        可以这样——

        const data = [{ "city_name": "LAHORE", "family_members": [ { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11128", "gender": "F", "name": "IREM NILGUN", "age": "34", "relationship": "Wife" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11129", "gender": "F", "name": "DEFNE ALINA", "age": "4", "relationship": "Daughter" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-11130", "gender": "M", "name": "OMER KARAN", "age": "1", "relationship": "Son" } ] }, { "city_name": "LAHORE", "family_members": [ { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5933", "gender": "F", "name": "RAFIA SAQIB", "age": "2", "relationship": "Daughter" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5934", "gender": "M", "name": "MUHAMMAD MAAZ", "age": "10", "relationship": "Son" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5935", "gender": "F", "name": "GULZAREEN SAQIB", "age": "29", "relationship": "Wife" }, { "user_id": "IGT\/D\/PHI3\/0000000002\/0118\/003-5936", "gender": "M", "name": "MUSAB SAQIB", "age": "8", "relationship": "Son" } ] }]
        
        const sum = 0;
        
        arrayName.forEach(value => {
        sum = sum+value.family_members.length;
        console.log(sum);});
        

        【讨论】:

          【解决方案4】:

          假设你的数据结构是一个对象数组,比如

          {city_name:字符串,family_members:数组}

          
          //First map every element to get an array of "family_members" arrays
          const totalLength = data
            .map(item => item.family_members || []) // || [] prevents errors when "family_members" is not defined
          //Now sum the lengths of all the mapped "family_members" arrays
            .reduce((tot, members) => tot + members.length, 0);
          
          

          【讨论】:

            猜你喜欢
            • 2012-03-22
            • 2016-06-24
            • 2019-11-09
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-08-22
            • 1970-01-01
            相关资源
            最近更新 更多