Return Multiple Lines Instead Of Console.log
I have the following code that produces the output I need using console.log function product() { var advertiserId = 1234; var ord = 543210; var productId = 'id1|id2|id
Solution 1:
You would usually push the lines to an array and return the array
functionproduct() {
var advertiserId = 1234;
var ord = 543210;
var productId = "id1|id2|id3|id4".split("|");
var productName = "product1|product2|product3|product4".split("|");
var productItemPrice = "10|20|30|40".split("|");
var ret = [];
for(i = 0; i < productId.length; i++) {
ret.push(advertiserId+"|"+ord+"|"+productId[i]+"|"+productName[i]+"|"+productItemPrice[i]);
}
return ret;
}
let data = product();
console.log(data); // array holding the lines// or join it with a newlineconsole.log(data.join("\n")); // lines as string
Solution 2:
Push the results into an array then use the Array#join
function.
functionproduct() {
const advertiserId = 1234;
const ord = 543210;
const productId = "id1|id2|id3|id4".split("|");
const productName = "product1|product2|product3|product4".split("|");
const productItemPrice = "10|20|30|40".split("|");
const results = [];
for (let i = 0; i < productId.length; i++) {
results.push(`${advertiserId}|${ord}|${productId[i]}|${productName[i]}|${productItemPrice[i]}`);
}
return results;
}
const data = product();
console.log(data.join('\n'));
Solution 3:
Solution 4:
When you return from a function, it won't continue to execute. In your case, you can store each result and return them all at once.
function product() {
var advertiserId = 1234;
var ord = 543210;
var productId = "id1|id2|id3|id4".split("|");
var productName = "product1|product2|product3|product4".split("|");
var productItemPrice = "10|20|30|40".split("|");
var results = [];
for(i = 0; i < productId.length; i++) {
results.push(advertiserId + "|" + ord + "|" + productId[i] + "|" + productName[i]+ "|" +productItemPrice[i]);
}
return results;
}
results is now an array of strings that you can do what you want with.
Solution 5:
Write the output to a variable then return. using return inside the loop will exit the loop
function product() {
var advertiserId = 1234;
var ord = 543210;
var productId = "id1|id2|id3|id4".split("|");
var productName = "product1|product2|product3|product4".split("|");
var productItemPrice = "10|20|30|40".split("|");
var output = "";
for(i = 0; i < productId.length; i++) {
output += advertiserId+"|"+ord+"|"+productId[i]+"|"+productName[i]+"|"+productItemPrice[i] + "\n";
}
return output;
}
product()
Post a Comment for "Return Multiple Lines Instead Of Console.log"