簡體   English   中英

是否有更多的javascript方法來處理壓縮兩個數組而不是使用for循環?

[英]Is there a more javascript way to handle zipping two arrays instead of using a for loop?

此代碼基於我應該解決的問題按預期工作。 但是,由於我是JavaScript的新手,我很好奇這是否是處理壓縮兩個數組的正確方法。 我已經閱讀了一些看似簡潔的地圖的例子,但是如果在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}`);

1) 減少

const strOut = products.reduce(
  (result, product, index) => `${result} ${product} ${prices[index]}\n`,
  ''
);

2) 地圖 + 加入

const strOut = products.map( 
   (product, index) => `${product} ${prices[index]}`
).join("\n");

map的回調的第二個參數是數組索引,你可以將它用於第二個數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM