是否有一种更为javascript的方式来处理压缩两个数组而不是使用for循环?
基于我应该解决的问题,此代码按预期工作。然而,由于我是JavaScript新手,我很好奇这是否是处理压缩两个数组的正确方法。我已经阅读了一些使用map的示例,这些示例看起来很简洁,但我更好奇的是,在JavaScript中是否有一个公认的正确方法来实现这一点是否有一种更为javascript的方式来处理压缩两个数组而不是使用for循环?,javascript,Javascript,基于我应该解决的问题,此代码按预期工作。然而,由于我是JavaScript新手,我很好奇这是否是处理压缩两个数组的正确方法。我已经阅读了一些使用map的示例,这些示例看起来很简洁,但我更好奇的是,在JavaScript中是否有一个公认的正确方法来实现这一点 var faker = require("faker"); var products = Array.from({length:10}, () => faker.commerce.productName()); var prices
var faker = require("faker");
var products = Array.from({length:10}, () => faker.commerce.productName());
var prices = Array.from({length:10}, () => faker.commerce.price())
var strOut = "";
for(var i=0; i<10; i++){
strOut += `${products[i]} - ${prices[i]} \n`
}
console.log('====================\n'+
'WELCOME TO MY SHOP!\n'+
'====================\n'+
`${strOut}`);
var faker=require(“faker”);
var products=Array.from({length:10},()=>faker.commerce.productName());
var prices=Array.from({length:10},()=>faker.commerce.price())
var strOut=“”;
对于(var i=0;i1):
2) +:
map
回调的第二个参数是数组索引,您可以将其用于第二个数组。您可能有压缩的理由,但最常见的建议是“不要使用并行数组”。包含对象的单个数组,如{“product”:“some product”,“price”:5.99}
是一个更好的结构。
const strOut = products.reduce(
(result, product, index) => `${result} ${product} ${prices[index]}\n`,
''
);
const strOut = products.map(
(product, index) => `${product} ${prices[index]}`
).join("\n");