NodeJS 如何在单独的行上打印数组的数组

yk9xbfzb  于 2022-11-29  发布在  Node.js
关注(0)|答案(3)|浏览(223)

我有一个函数可以将字谜组合在一起

function groupAnagrams(strs) {
  let result = {};
  for (let word of strs) {
    let cleansed = word.split("").sort().join("");
    if (result[cleansed]) {
      result[cleansed].push(word);
    } else {
      result[cleansed] = [word];
    }
  }
  console.log(Object.values(result));
  return Object.values(result);
}

它将按以下格式打印结果

[ [ 'abc', 'bac', 'cba' ], [ 'fun', 'fun', 'unf' ], [ 'hello' ] ]

但是,我希望输出如下所示

abc, bac, cba

fun, fun, unf

hello

我如何才能做到这一点?

yruzcnhs

yruzcnhs1#

你可以这样做

const data = [ [ 'abc', 'bac', 'cba' ], [ 'fun', 'fun', 'unf' ], [ 'hello' ] ]

data.forEach(row => console.log(row.join(', ')))
//or

console.log(data.map(row => row.join(', ')).join('\n'))
kognpnkq

kognpnkq2#

由于这是一个node.js-tagged问题,我将给予一个os.EOL的示例

const { EOL } = require('os');
const lines = [ [ 'abc', 'bac', 'cba' ], [ 'fun', 'fun', 'unf' ], [ 'hello' ] ];

const output = lines.map((words) => words.join(', ')).join(EOL);

process.stdout.write(output);
qc6wkl3g

qc6wkl3g3#

这里有另一个解决方案...

function groupAnagram(arr){
  let res = '';
  arr.map(function(item){
    res += `${item.join(', ')} \n\n`
  })
  console.log(res)
}

groupAnagram([ [ 'abc', 'bac', 'cba' ], [ 'fun', 'fun', 'unf' ], [ 'hello' ] ]
);

相关问题