Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种更为javascript的方式来处理压缩两个数组而不是使用for循环?_Javascript - Fatal编程技术网

是否有一种更为javascript的方式来处理压缩两个数组而不是使用for循环?

是否有一种更为javascript的方式来处理压缩两个数组而不是使用for循环?,javascript,Javascript,基于我应该解决的问题,此代码按预期工作。然而,由于我是JavaScript新手,我很好奇这是否是处理压缩两个数组的正确方法。我已经阅读了一些使用map的示例,这些示例看起来很简洁,但我更好奇的是,在JavaScript中是否有一个公认的正确方法来实现这一点 var faker = require("faker"); var products = Array.from({length:10}, () => faker.commerce.productName()); var prices

基于我应该解决的问题,此代码按预期工作。然而,由于我是JavaScript新手,我很好奇这是否是处理压缩两个数组的正确方法。我已经阅读了一些使用map的示例,这些示例看起来很简洁,但我更好奇的是,在JavaScript中是否有一个公认的正确方法来实现这一点

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");