分割数据样式
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);
}
}
如果谁还有更优方法可以私信
在这