Tell us what’s happening:
2. parseCard should return trimmedParts.
Output: [ 'The Stand', 'King, Stephen', '1978', 'Shelf K2' ]
My output is correct and I am returning trimmedParts, so what is my issue?
Your code so far
// User Editable Region
const rawCatalogCards = [
"From a Buick 8 | King, Stephen | 2002 | Shelf K7",
"The Shining | King, Stephen | 1977 | Shelf K1",
"The Stand | King, Stephen | 1978 | Shelf K2",
"It | King, Stephen | 1986 | Shelf K3",
"Misery | King, Stephen | 1987 | Shelf K4",
"Do Androids Dream of Electric Sheep? | Dick, Philip K. | 1968 | Shelf D5",
"I, Robot | Asimov, Isaac | 1950 | Shelf A8",
"Foundation | Asimov, Isaac | 1951 | Shelf A9",
"Dune | Herbert, Frank | 1965 | Shelf H3",
"Neuromancer | Gibson, William | 1984 | Shelf G8",
"Snow Crash | Stephenson, Neal | 1992 | Shelf S6",
"The Martian | Weir, Andy | 2011 | Shelf W5",
"Ender's Game | Card, Orson Scott | 1985 | Shelf C2",
"The Hitchhiker's Guide to the Galaxy | Adams, Douglas | 1979 | Shelf A1",
"Ready Player One | Cline, Ernest | 2011 | Shelf C7",
"The Dark Tower: The Gunslinger | King, Stephen | 1982 | Shelf K5",
// edge cases: missing data
"Unknown Title | | 1975 | Shelf X1",
"Mysterious Manuscript | Unknown Author | | Shelf Z9",
"Ancient Scroll | Anonymous | 850 | ",
];
function parseCard(rawString) {
const parts = rawString.split("|");
const trimmedParts = [];
for (let i = 0; i < parts.length; i++) {
trimmedParts.push(parts[i].trim());
}
return trimmedParts;
}
const cardResult = parseCard(rawCatalogCards[2]);
console.log(cardResult);
// User Editable Region
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
Challenge Information:
Build a Heritage Library Catalog - Step 6