我想知道如何根据第一个值重复使用另一个数组的数组。创建新数组时如何为每一行添加索引。 例如:
Table Base
Total | Item | Description | Price
5 | 946 | T-Shirt Red | $10
3 | 456 | T-Shirt Black | $12
2 | 489 | T-Shirt Blue | $11.50
Table Result
Index | Total | Item | Description | Price
1 | 5 | 946 | T-Shirt Red | $10
2 | 5 | 946 | T-Shirt Red | $10
3 | 5 | 946 | T-Shirt Red | $10
4 | 5 | 946 | T-Shirt Red | $10
5 | 5 | 946 | T-Shirt Red | $10
1 | 3 | 456 | T-Shirt Black | $12
2 | 3 | 456 | T-Shirt Black | $12
3 | 3 | 456 | T-Shirt Black | $12
1 | 2 | 489 | T-Shirt Blue | $11.50
2 | 2 | 489 | T-Shirt Blue | $11.50
我制作了这段代码,但我不知道如何让它成功。
var data = [[5,946,'T-Shirt Red',10],[3,456,'T-Shirt Black',12],[2,489,'T-Shirt Blue',11.50]];
var items = [];
var i, j;
for(i in data){
for (j = 1; j <= data[i][0]; j++) {
items.push([j,data[i]]);
}
}
console.log(items);
&#13;
答案 0 :(得分:1)
在现代浏览器中,它只是一个简单的改变
items.push([j, ...data[i]]);
对于支持IE,您需要将其更改为
items.push([j].concat(data[i]));
var data = [[5,946,'T-Shirt Red',10],[3,456,'T-Shirt Black',12],[2,489,'T-Shirt Blue',11.50]];
var items = [];
var i, j;
for(i in data){
for (j = 1; j <= data[i][0]; j++) {
items.push([j,...data[i]]);
}
}
items.forEach(item => console.log(item.join('\t| ')))
&#13;