Александр3297,
var phoneBook = {};
function re (command) {
// команда add
if (command.split(' ')[0] =='ADD' ){
var name = command.split(' ')[1];
var numb = (command.split(' ')[2]).split(',');
if(!phoneBook.hasOwnProperty(name)) {
phoneBook[name] = numb;}
else {phoneBook[name] = phoneBook[name].concat(numb);
}
return name + " : " +JSON.stringify(phoneBook[name]);
}
// команда remove
else if (command.split(' ')[0] =='REMOVE_PHONE' ){
var tel = (command.split(' ')[1]),
arrName = Object.keys(phoneBook);
for (i=0; i< arrName.length; i++){
var name = arrName[i];
var numb = phoneBook[name];
var indx = numb.indexOf(tel)
if(indx !== -1) {
numb.splice(indx, 1);
if(!numb.length) delete phoneBook[name]
return true
}
}
return false;
}
// команда show
if (command.split(' ')[0] =='SHOW'){
return JSON.stringify(phoneBook);
}
}
alert(re('ADD Ivan 223232'));
alert(re('ADD Ivan 555-10-01,555-10-03'));
alert(re('SHOW'))
alert (re('REMOVE_PHONE 550-10-01'))
alert (re('ADD Alex 544545'))// Вот тут ерунда получается (Ivan, Alex: 544545)
alert(re('SHOW'))// а тут показывает номера ивана без удаленного