【发布时间】:2018-03-31 21:41:25
【问题描述】:
我一直在努力解决这个问题,但我无法解决。 此函数接收一个名称数组,并应返回一个包含中间名的数组。如果某人没有中间名,则数组应在此索引处包含值 null。
我知道我的代码不完整,但无法完成一半。 splice 方法不管我做什么都不管用,现在我很迷茫。
这是我目前的代码:
function getMiddleNames (names) {
let solution =[];
let separated = [];
for(let i=0; i<names.length; i++){
separated.push(names[i].split(' '));
}
return separated.splice(1);
}
还有测试:
describe('getMiddleNames', function () {
it('returns [] when passed []', function () {
expect(getMiddleNames([])).to.eql([]);
});
it('returns ["Hannah"] when passed ["Caroline Hannah Jamieson"]', function () {
expect(getMiddleNames(['Caroline Hannah Jamieson'])).to.eql(['Hannah']);
});
it('returns ["Reuben", "Keith", "Clara"] when passed ["Steven Reuben Williams", "Carl Keith Morelli", "Sissel Clara Blomqvist"]', function () {
expect(getMiddleNames(['Steven Reuben Williams', 'Carl Keith Morelli', 'Sissel Clara Blomqvist'])).to.eql(['Reuben', 'Keith', 'Clara']);
});
it('returns ["Reuben", null, "Clara"] when passed ["Steven Reuben Williams", "Carl Morelli", "Sissel Clara Blomqvist"]', function () {
expect(getMiddleNames(['Steven Reuben Williams', 'Carl Morelli', 'Sissel Clara Blomqvist'])).to.eql(['Reuben', null, 'Clara']);
});
it('returns ["Reuben", null, null] when passed ["Steven Reuben Williams", "Carl Morelli", "Sissel"]', function () {
expect(getMiddleNames(['Steven Reuben Williams', 'Carl Morelli', 'Sissel'])).to.eql(['Reuben', null, null]);
});
});
谁能帮帮我?谢谢
【问题讨论】:
-
提示:检查分割数组的长度
标签: javascript arrays methods