рони, Добрый вечер, все мучаюсь с этой задачей, не могу сообразить. В предложенном вами решением некоторые моменты мне непонятны еще
Если вам не сложно, посмотрите мой код.
У меня получился следующий код:
function (command) {
// команда add
if (command.split(' ')[0] =='ADD' ){
var name = command.split(' ')[1];
var numb = (command.split(' ')[2]).split(',');
if(!phoneBook.hasOwnProperty(name)) {
phoneBook[name] = [];
phoneBook[name] = numb;}
else {phoneBook[name] = numb.concat(numb)}
}
// команда remove
if (command.split(' ')[0] =='REMOVE_PHONE' ){
var numb = (command.split(' ')[1]);
if( phoneBook[name].indexOf(numb)!==-1){
var x = phoneBook[name].indexOf(numb);
phoneBook[name].splice(x, 1);
}
}
// команда show
if (command.split(' ')[0] =='SHOW'){
var book = [];
for (i=0; i<(Object.keys(phoneBook)).length; i++){
var key = Object.keys(phoneBook)[i];
book[i] = [key + ': ' + phoneBook[key]];
}}}
По отдельности эти команды работают, но я не понимаю как через функцию function (command) пополнять и отображать телефонную книгу, задавая command:
var command = 'ADD Ivan 555-10-01,555-10-03';
alert(re(command));//
alert выдает underfind
command = 'ADD Ivan 555-10-02';
command = 'REMOVE_PHONE 555-10-03';
command = 'ADD Alex 555-20-01';
command = 'REMOVE_PHONE 555-20-01';
command = 'SHOW';
По условиям задачи:
Команда ADD добавляет контакт в телефонную книгу со списком телефонов. Телефоны перечисляются через запятую. Если такой контакт существует, то команда пополняет список телефонов контакта
Команда REMOVE_PHONE удаляет телефон из телефонной книги. Если телефон успешно удален, то функция должна вернуть true. Если такого телефона в телефонной книге не существует, то возвращается false.
Команда SHOW возвращает массив контактов с их телефонами. Массив содержит строчки вида: "Имя: Телефон1, Телефон2". Массив должен быть отсортирован по имени контакта. Телефоны идут в порядке добавления их в телефонную книгу. Контакт с пустым списком телефонов не должен возвращаться.