Професионална програма
Loading...
+ Нов въпрос
willystyle avatar willystyle 2417 Точки

Не ти е верен е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;
        }
    }
}

 

0
28/09/2019 11:54:34
TeodorPavlov avatar TeodorPavlov 5 Точки

Може ли само да поясниш, защо ''Number(secondWord) + Number(command));''.  :)

1
willystyle avatar willystyle 2417 Точки

ами така работи slice() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice

.slice(begin, end);

когато искаш num елемента от begin нататък включително

.slice(begin, begin + num);

като няма нужда да проверяваш дали излиза извън масива, то авртоматично си го прави.

0
TeodorPavlov avatar TeodorPavlov 5 Точки

Ясно. Не знаех, че в .slice() може да се направи така. Мерси :) 

1
28/09/2019 17:21:31