Programming Fundamentals Mid Exam // Contact List
Здравейте,
Опитвам се да реша тази задача, но ми дава 90/100. Ако някой помогне ще съм много благодарен.
Задача:
https://judge.softuni.bg/Contests/Practice/Index/1682#2
Решение:
Здравейте,
Опитвам се да реша тази задача, но ми дава 90/100. Ако някой помогне ще съм много благодарен.
Задача:
https://judge.softuni.bg/Contests/Practice/Index/1682#2
Решение:
Не ти е верен еxport метода:
function contactList(array) {
let conList = array.shift().split(' ');
let exportArr = [];
while (true) {
let command = array.shift().split(' ');
let firstWord = command.shift();
let secondWord = command.shift();
if (firstWord === 'Add') {
let num = command.shift();
if (conList.includes(secondWord)) {
if (num >= 0 && num <= conList.length) {
conList.splice(Number(num), 0, secondWord)
}
} else {
conList.push(secondWord);
}
} else if (firstWord === 'Remove') {
let num = Number(secondWord);
if (num >= 0 && num <= conList.length) {
conList.splice(num, 1)
}
} else if (firstWord === 'Export') {
exportArr = conList.slice(Number(secondWord), Number(secondWord) + Number(command));
console.log(exportArr.join(' '));
} else if (secondWord === 'Normal') {
console.log(`Contacts: ${conList.join(' ')}`);
break;
} else if (secondWord === 'Reversed') {
console.log(`Contacts: ${conList.reverse().join(' ')}`);
break;
}
}
}
Може ли само да поясниш, защо ''Number(secondWord) + Number(command));''. :)
ами така работи slice() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
.slice(begin, end);
когато искаш num елемента от begin нататък включително
.slice(begin, begin + num);
като няма нужда да проверяваш дали излиза извън масива, то авртоматично си го прави.
Ясно. Не знаех, че в .slice() може да се направи така. Мерси :)