我正在努力学习es6和玩口袋妖怪API。myRoute = 'https://pokeapi.co/api/v2/ability/144/';
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‘?
发布于 2018-10-11 06:24:26
使用.map之后,用逗号连接,然后在结果字符串上使用.replace替换由逗号分隔的3个单词的实例,用这3个单词和逗号加上一个换行符。这样,您的pokeString实际上将是一个字符串:
const pokeString = data.pokemon
.map( ( { pokemon }: obj ) => pokemon.name )
.join(',')
.replace(/[^,]+,[^,]+,[^,]+,/g, '$&\n');
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);
https://stackoverflow.com/questions/52753491
复制相似问题