基于某个数字迭代值



我有3个数组:

var sku = ["SCC2GROS", " MKL7P5SV", " MKL7P5EB", " OXL4CWL", " OXL4CWXXS"];
var quantity = ["1", "10", "8", "1", "2"];
var price=  ["68.00", "25.00", "25.00", "165.00", "165.00"];

我想根据数量迭代sku和价格数组的值。即SCC2GROS的数量为1。它将与价格一起打印一次。但对于MKL7P5SV,其价格将打印10次。我正在尝试嵌套循环

for(var i=0; i<len; i++){

for(var j=0; j< q[i]; j++){
console.log(s[i][j] +" " + q[j] + " " + p[j]);


}

}

但这不是我需要的输出类型。有人能帮我吗。

您就快到了。

为了在sku数组上循环,您需要获得数组长度。循环是:

for(var i=0; i<sku.length; i++) {

因为你需要多次打印sku和价格元素,所以你需要获得相应的数量值和循环:

for (var j = 0; j < quantity[i]; j++) {

摘录:

var storeArr = [];
var sku = ["SCC2GROS", " MKL7P5SV", " MKL7P5EB", " OXL4CWL", " OXL4CWXXS"];
var quantity = ["1", "10", "8", "1", "2"];
var price=  ["68.00", "25.00", "25.00", "165.00", "165.00"];
for(var i=0; i<sku.length; i++) {
for (var j = 0; j < quantity[i]; j++) {
var str = sku[i].trim() + " " + price[i];
storeArr.push(str);
console.log(str);
}
}

不要使用嵌套循环。使用纯循环并在引用所有数组时使用索引。

var sku = ["SCC2GROS", " MKL7P5SV", " MKL7P5EB", " OXL4CWL", " OXL4CWXXS"];
var quantity = ["1", "10", "8", "1", "2"];
var price=  ["68.00", "25.00", "25.00", "165.00", "165.00"];
for (let i = 0; i < sku.length; i++) {
console.log(sku[i], quantity[i], price[i]);
}

如果您还需要总价,请使用*运算符进行乘法运算。

var sku = ["SCC2GROS", " MKL7P5SV", " MKL7P5EB", " OXL4CWL", " OXL4CWXXS"];
var quantity = ["1", "10", "8", "1", "2"];
var price=  ["68.00", "25.00", "25.00", "165.00", "165.00"];
for (let i = 0; i < sku.length; i++) {
console.log(sku[i], quantity[i] * price[i]);
}

尝试使用.reeat(integer(来记录多个日志。

这是我的解决方案,我希望这对有帮助

const sku = ["SCC2GROS", " MKL7P5SV", " MKL7P5EB", " OXL4CWL", " OXL4CWXXS"];
const quantity = ["1", "10", "8", "1", "2"];
const price=  ["68.00", "25.00", "25.00", "165.00", "165.00"];

sku.forEach(
(item, index) => {
const str = `SKU : ${item.trim()} - PRICE : ${price[index]}  `;
console.log(str.repeat(+quantity[index]));
}
);

最新更新