I don't know why but I always receive an error when I run the following code:
function list(names) {
let str = '';
if (!names) {
return ''
} else if (names.length == 2) {
return names[0].name + ' & ' + names[1].name;
} else if (names.length == 1) {
return names[0].name;
} else {
for (i = 0; i < (names.length - 2); i++) {
str += names[i].name + ', ';
}
str += names[names.length - 2].name + ' & ' + names[names.length - 1].name;
return str;
}
}
with test cases in codewars kata. The error is:
TypeError: Cannot read property 'name' of undefined
at list
at /home/codewarrior/index.js:36:19
at /runner/frameworks/javascript/cw-2.js:152:11
at Promise._execute
names
should be an array which can be empty and the array elements are objects with name properties.