function parseIdsString(idsString) {
  return decodeURIComponent(idsString)
    .split(',')
    .reduce((acc, idStr) => {
      const id = parseInt(idStr, 10);
      if (!Number.isNaN(id) && acc.indexOf(id) === -1) {
        acc.push(id);
      }
      return acc;
    }, []);
}
/**
 * Parse CSV string of athlete IDs from URL
 *
 * @param {String} idsString Comma-separated string of athlete ids
 * @return {Array} Array of integer ids
 */
Parse CSV string of athlete IDs from URL
@param {String} idsString Comma-separated string of athlete ids
@return {Array} Array of integer ids
Parse CSV string of athlete IDs from URL @param { String } idsString Comma - separated string of athlete ids @return { Array } Array of integer ids
function parseIdsString(idsString) {
  return decodeURIComponent(idsString)
    .split(',')
    .reduce((acc, idStr) => {
      const id = parseInt(idStr, 10);
      if (!Number.isNaN(id) && acc.indexOf(id) === -1) {
        acc.push(id);
      }
      return acc;
    }, []);
}
function parseIdsString ( idsString ) { return decodeURIComponent ( idsString ) . split ( ',' ) . reduce ( ( acc , idStr ) => { const id = parseInt ( idStr , 10 ) ; if ( ! Number . isNaN ( id ) && acc . indexOf ( id ) === - 1 ) { acc . push ( id ) ; } return acc ; } , [ ] ) ; }
Parse CSV string of athlete IDs from URL
 @param {String} idsString Comma-separated string of athlete ids
 @return {Array} Array of integer ids
Parse CSV string of athlete IDs from URL @param { String } idsString Comma - separated string of athlete ids @return { Array } Array of integer ids