在我的程序中给出了名称的哈希数组。我想返回一个字符串,格式为以逗号分隔的名称列表,最后两个名称除外,这两个名称应由与号分隔。
例如
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 ''
Run Code Online (Sandbox Code Playgroud)
为此,我使用 map 函数映射对象数组的值,并使用切片提取数组的最后两个值,然后使用toString将其转换为字符串,然后使用split("&")在最后两个元素之间添加&符号,但我没有按预期获得输出。
代码:
function list(names){
let result = names.map(value => value.name);
return result.slice(-2).toString().split('&');
}
list([{name: 'Bart'}, {name: 'Lisa'}, {name: 'Maggie'}]);
Run Code Online (Sandbox Code Playgroud)