Retired

Format a string of names like 'Bart, Lisa & Maggie'. (retired)

36,199 of 71,234weavermedia

Description:

Given: an array containing hashes of names

Return: a string formatted as a list of names separated by commas except for the last two names, which should be separated by an ampersand.

Example:

list([ {name: 'Bart'}, {name: 'Lisa'}, {name: 'Maggie'} ])
# returns 'Bart, Lisa & Maggie'

list([ {name: 'Bart'}, {name: 'Lisa'} ])
# returns 'Bart & Lisa'

list([ {name: 'Bart'} ])
# returns 'Bart'

list([])
# returns ''
list([ %{name: "Bart"}, %{name: "Lisa"}, %{name: "Maggie"} ])
# returns 'Bart, Lisa & Maggie'

list([ %{name: "Bart"}, %{name: "Lisa"} ])
# returns 'Bart & Lisa'

list([ %{name: "Bart"} ])
# returns 'Bart'

list([])
# returns ''
list([ {name: 'Bart'}, {name: 'Lisa'}, {name: 'Maggie'} ])
// returns 'Bart, Lisa & Maggie'

list([ {name: 'Bart'}, {name: 'Lisa'} ])
// returns 'Bart & Lisa'

list([ {name: 'Bart'} ])
// returns 'Bart'

list([])
// returns ''
namelist([ {'name': 'Bart'}, {'name': 'Lisa'}, {'name': 'Maggie'} ])
# returns 'Bart, Lisa & Maggie'

namelist([ {'name': 'Bart'}, {'name': 'Lisa'} ])
# returns 'Bart & Lisa'

namelist([ {'name': 'Bart'} ])
# returns 'Bart'

namelist([])
# returns ''

Note: all the hashes are pre-validated and will only contain A-Z, a-z, '-' and '.'.

Fundamentals
Strings
Data Types
Formatting
Algorithms
Logic

More By Author:

Check out these other kata created by weavermedia

Stats:

CreatedMar 29, 2014
Warriors Trained150164
Total Skips23165
Total Code Submissions327244
Total Times Completed71234
Ruby Completions5063
JavaScript Completions36199
Python Completions29779
Elixir Completions428
Total Stars1380
% of votes with a positive feedback rating88% of 7092
Total "Very Satisfied" Votes5480
Total "Somewhat Satisfied" Votes1483
Total "Not Satisfied" Votes129
Ad
Contributors
  • weavermedia Avatar
  • jhoffner Avatar
  • GiacomoSorbi Avatar
  • Chrono79 Avatar
  • davejones Avatar
  • Avanta Avatar
Ad