重复数组javascript值并创建索引

时间:2017-10-06 22:49:42

标签: javascript arrays

我想知道如何根据第一个值重复使用另一个数组的数组。创建新数组时如何为每一行添加索引。 例如:

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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

在现代浏览器中,它只是一个简单的改变

items.push([j, ...data[i]]);

对于支持IE,您需要将其更改为

items.push([j].concat(data[i]));

&#13;
&#13;
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;
&#13;
&#13;

相关问题