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);}}
如果谁还有更优方法可以私信
在这
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
