js 按照类型分割数组

分割数据样式

let data= [
        { Name: '张三', Item: 'AA', Value: 18 },
        { Name: '张三', Item: 'BB', Value: 28 },
        { Name: '张三', Item: 'CC', Value: 19 },
        { Name: '张三', Item: 'DD', Value: 11 },
        { Name: '张三', Item: 'EE', Value: 11 },
        { Name: '张三', Item: 'FF', Value: 11 },

        { Name: '李四', Item: 'AA', Value: 17 },
        { Name: '李四', Item: 'BB', Value: 20 },
        { Name: '李四', Item: 'CC', Value: 24 },
        { Name: '李四', Item: 'DD', Value: 15 },
        { Name: '李四', Item: 'EE', Value: 15 },
        { Name: '李四', Item: 'FF', Value: 15 },

        { Name: '王二', Item: 'AA', Value: 17 },
        { Name: '王二', Item: 'BB', Value: 20 },
        { Name: '王二', Item: 'CC', Value: 24 },
        { Name: '王二', Item: 'DD', Value: 15 },
        { Name: '王二', Item: 'EE', Value: 15 },
        { Name: '王二', Item: 'FF', Value: 15 },
      ];

分割方式

let n = 8;
      let typeArray = []; //   n个值
      for (let index = 0; index < this.data.length; index++) {
        if (typeArray.indexOf(this.data[index].Item) == -1) {
          typeArray.push(this.data[index].Item);
        }
      }
      let out = {};
      let sign = "arr";
      for (let i = 0; i < this.data.length; i++) {
        var item = this.data[i].Item;
        var typeindex = typeArray.indexOf(item);
        var arrayIndex = Math.floor(typeindex / n);
        var key = sign + arrayIndex;
        // if (!out.hasOwnProperty(key)) {  //js内的格式
        if (!Object.prototype.hasOwnProperty.call(out, key)) {  vue内的判断格式
          out[key] = [];
        }

        out[key].push(this.data[i]);
      }
      console.log(out);
      for (const key in out) {  //输入每个数组
        if (Object.prototype.hasOwnProperty.call(out, key)) {
          const element = out[key];
          console.log(element);
        }
      }

如果谁还有更优方法可以私信

在这
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
JS中可以使用split()方法将字符串分割数组。split()方法可以不带分隔符、使用空分隔符或使用指定的分隔符来进行分割。 如果不带分隔符,可以直接调用split()方法,例如: var string = "元素一 元素二 元素三 元素四"; var array = string.split(); console.log(array); 输出结果为:["元素一 元素二 元素三 元素四"] 如果使用空分隔符,可以将空字符串作为参数传递给split()方法,例如: var string = ""; var array = string.split(""); console.log(array); 输出结果为:[] 如果使用指定的分隔符,可以将分隔符作为参数传递给split()方法,例如: var string = "元素一 元素二 元素三 元素四"; var array = string.split(" "); console.log(array); 输出结果为:["元素一", "元素二", "元素三", "元素四"] 通过使用split()方法,可以将字符串分割数组,从而方便对字符串进行进一步的操作和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [JS中字符串切割为数组/数组拼接为字符串](https://blog.csdn.net/weixin_47278656/article/details/129951150)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值