首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以使用模块化与Array.prototype.map插入每3个指标新行?

我可以使用模块化与Array.prototype.map插入每3个指标新行?
EN

Stack Overflow用户
提问于 2018-10-11 06:20:18
回答 1查看 96关注 0票数 0

我正在努力学习es6和玩口袋妖怪API。myRoute = 'https://pokeapi.co/api/v2/ability/144/';

代码语言:javascript
复制
const arrObservable = this._http.get(newurl);
 arrObservable.subscribe( 
(data) => {
 const pokeString = data.pokemon.map( ( { pokemon }: obj ) => pokemon.name );
console.log(`There are ${data.pokemon.length} pokemon with the ${data.name} ability:  ${pokeString}`);

})

产出: 有19只具有再生能力的口袋妖怪:慢足、慢波、唐拉、慢缩、corsola、吼-哦、唐氏、奥迪诺、独耳、杜松松、雷独鱼、福公、阿摩公、阿莫莫拉、米恩福、米森绍、曼兰妮、毒气、龙卷风

--我得到了正确的结果--,它在控制台上看起来有点不舒服,所以我想知道是否有办法在仍然使用.map()函数的同时,每隔几行添加一个'\n‘?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-11 06:24:26

使用.map之后,用逗号连接,然后在结果字符串上使用.replace替换由逗号分隔的3个单词的实例,用这3个单词和逗号加上一个换行符。这样,您的pokeString实际上将是一个字符串:

代码语言:javascript
复制
const pokeString = data.pokemon
  .map( ( { pokemon }: obj ) => pokemon.name )
  .join(',')
  .replace(/[^,]+,[^,]+,[^,]+,/g, '$&\n');

代码语言:javascript
复制
const names = ['slowpoke','slowbro','tangela','slowking','corsola','ho-oh','tangrowth','audino','solosis','duosion','reuniclus','foongus','amoonguss','alomomola','mienfoo','mienshao','mareanie','toxapex','tornadus-therian'];

const pokeString = names
  .join(',')
  .replace(/[^,]+,[^,]+,[^,]+,/g, '$&\n');
  
console.log(pokeString);

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52753491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档