我想幫助重新格式化從 promise.all 回傳的輸出,它作為物件陣列回傳,但我只想轉換為一串值,結果串在一起,每個結果之間有一個空格。
電流輸出
[
{ yesnon: 'non' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' }
]
目標輸出:(結果之間有空格的單行字串,洗掉“yesnon:”)
non yes yes
編碼
const fs = require('fs');
const readline = require('readline')
var mynumtosearch = 56700;
var searchfile = 35;
const p1 = new Promise((resolve, reject) => {
let lineCount = 0;
let v=0;
let yesnon = "non";
let readStream = readline.createInterface({
input: fs.createReadStream('PATH TO MY FILE','utf8')
});
readStream.on("line", (line) => {
lineCount ;
// console.log(line)
if(line==mynumtosearch)
{
yesnon="yes";
console.log("I am here");
v ;
}
});
readStream.on("close", () =>
resolve({
yesnon
})
)
});
const p2 = new Promise((resolve, reject) => {
let readStream = readline.createInterface({
input: fs.createReadStream('PATH TO MY FILE','utf8')
});
let lineCount = 0; let v=0;
let yesnon = "non";
readStream.on("line", (line) => {
lineCount ;
// console.log(line)
if(line==mynumtosearch)
{
yesnon="yes";
console.log("I am here");
v ;
}
});
readStream.on("close", () =>
resolve({
yesnon
}) )
});
const p3 = new Promise((resolve, reject) => {
let lineCount = 0; let v=0;
let yesnon = "non";
let readStream = readline.createInterface({
input: fs.createReadStream('PATH TO MY FILE','utf8')
});
readStream.on("line", (line) => {
lineCount ;
//console.log(line)
if(line==mynumtosearch)
{
yesnon="yes";
console.log("I am here");
v ;
}
});
readStream.on("close", () =>
resolve({
yesnon
}) )
});
console.log(h);
Promise.all([p1, p2, p3]).then((results) => {console.log(results);
});
uj5u.com熱心網友回復:
這將重新格式化輸出陣列:
let arr = [
{ yesnon: 'non' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' }
];
let output = arr.map(e => e['yesnon']).join(' ');
console.log(output);
uj5u.com熱心網友回復:
嘗試在 Promise.all().then 結果中使用 .map() 和 .join()
Promise.all([p1, p2, p3]).then((results) => {
console.log(
results.map(({ yesnon }) => yesnon).join(' ')
);
});
首先,您將物件陣列轉換為具有值的字串陣列,然后將此字串陣列轉換為值之間有空格的字串
uj5u.com熱心網友回復:
這在對集合使用操作時很簡單。.map()解構 ( {yesnon}) 每個元素僅提取 (a string) 的值,并且yesnonjoin 連接由空格分隔的結果字串。
results = [
{ yesnon: 'non' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' },
{ yesnon: 'yes' }
]
console.log(results.map( ({yesnon}) => yesnon).join(' '))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/506987.html
標籤:javascript 节点.js 数组 承诺 格式
