Código Kata con: Fetch, Promesas, Array.Sort, Array.Duce, Array.Map, String.Localecompare -- javascript campo con ecmascript-6 camp codereview Relacionados El problema

Code kata featuring: fetch, promises, Array.sort, Array.reduce, Array.map, String.localeCompare


1
vote

problema

Español

Acabo de terminar un kata y me encantaría obtener información constructiva con respecto a la calidad de código, la legibilidad, la organización.

Objetivos

  • Fetch miembros del parlamento polaco (Poslowie)
  • agruparlos por ocupación
  • Ordenar ocupaciones por número de miembros y nombre de ocupación
  • Obtenga 5 mejores entradas
  • Resultado de impresión en la pantalla

Resultado de la muestra

kata salida

Código

  16'hffff4  
Original en ingles

I just finished a kata and would love to get some constructive feedback regarding code quality, readability, organization.

Objectives

  • fetch members of polish parliament (poslowie)
  • group them by occupation
  • sort occupations by number of members and occupation name
  • get top 5 entries
  • print result on the screen

Sample result

kata output

Code

(function() {     'use strict';      const POSLOWIE_ENDPOINT = 'https://api-v3.mojepanstwo.pl/dane/poslowie/';      fetch(POSLOWIE_ENDPOINT)         .then(response => response.json())         .then(data => data.Dataobject)         .then(sumByOccupation)         .then(occupationsMap => {             return occupationsMap                 .sort(compareByCountAndName)                 .slice(0, 5);         })         .then(printToScreen)         .catch(e => console.error(e));       function sumByOccupation(poslowie) {         return Array.from(             poslowie                 .map(posel => posel.data['poslowie.zawod'])                 .reduce((map, occupation) => {                     const numberOfEntries = map.get(occupation) || 0;                     return map.set(occupation, numberOfEntries + 1);                 }, new Map())         ).map(([occupation, count]) => {             return {occupation, count};         });      }       function compareByCountAndName(a, b) {         return b.count - a.count || (a.occupation).localeCompare(b.occupation);       }       function printToScreen(data) {         console.table(data);      } })(); 
     

Lista de respuestas


Relacionados problema

7  Aplicar acción arbitraria durante la función de generador recursivo  ( Apply arbitrary action during recursive generator function ) 
Tengo esta función de generador recursivo. Traerá un objeto en busca de "hojas", cualquier tecla que no apunte a sub-objetos. Luego aplica una de las dos ac...

0  Serialización de datos JSON [cerrada]  ( Json data serialization ) 
cerrado . Esta pregunta necesita detalles o claridad . Actualmente no está aceptando respuestas. ...

1  Iterador de secuencia numérico bidireccional (punto flotante)  ( Bidirectional numeric floating point sequence iterator ) 
Quería un iterador limpio que siempre me dará una secuencia limpia de step Números espaciados. Esto es lo que acompañé, pero soy un poco escéptico que cubrí...

6  Vanilla ES6 TODO / LISTA DE TAREA CON LOCALSTORAGE  ( Vanilla es6 todo task list with localstorage ) 
Estoy haciendo una aplicación simple de lista de TODO con ES6. Estoy buscando algunos comentarios sobre el código, siento que hay alguna mejora posible. Tal v...

8  Árbol fractal orientado a objetos  ( Object oriented fractal tree ) 
Hice un árbol fractal orientado a objetos en JavaScript utilizando la biblioteca P5, consta de tres archivos: fraternal tree.js sucursal.js flower.js ...

3  Comprobando si los paréntesis están equilibrados  ( Checking if parentheses are balanced ) 
Este script comprueba si los paréntesis están equilibrados. Me pregunto si hay algo que puede mejorarse aquí, incluyendo las características ES6. function ...

13  Servidor de chat básico y cliente usando WebSocket  ( Basic chat server and client using websocket ) 
Basado en nodo.js en acción (Publicaciones de Manning) Capítulo 2 "Construyendo una aplicación de chat de múltiples habitaciones" , he tomado el modelo que...

2  Función para filtrar comentarios y calificaciones, con soporte de paginación  ( Function to filter comments and ratings with pagination support ) 
Tengo un componente web que está haciendo una lista de elementos y tengo este método para filtrar estos elementos basados ​​en un objeto 998877666554433320 ...

7  Función recursiva para obtener propiedades únicas  ( Recursive function to get unique properties ) 
Solo quería compartir mi código JavaScript recién creado. Este código es responsable de pasar solo los elementos únicos para una matriz dada. Este es bastante...

10  "Stardust" Simulador 2D Gravity - Seguimiento 1: Los planetas  ( Stardust 2d gravity simulator follow up 1 the planets ) 
Este es un seguimiento para el juego de gravedad del simulador 2D pregunta. Desde entonces, he desarrollado mis habilidades de JavaScript, y ahora esto...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos