Показать сообщение отдельно
  #50 (permalink)  
Старый 29.07.2012, 20:50
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от Dim@ Посмотреть сообщение
№ 5
function Five(obj, str){
  if (obj == undefined || obj == null || str == undefined || str == null) return; 
  var izm = str;
  for (var i in obj){
    var k = i + "";
    if (typeof obj[k] == "number" || typeof obj[k] == "string"){
     var reg = new RegExp(i, "i", "g");
     str = str.replace(reg, obj[k]);
    }
  }
  alert(izm + "\n" + str);
}
Five({
"Какашка":"Капуста",
"была":"делала",
"в жопе":"какашку",
"lLLL":{}
}, "Какашка была в жопе");
как сложно. всё проще :
function Five (obj, str) {
    return str.replace(/[a-zа-я]+/ig, function (word) {
        return word in obj ? obj[word]:word;
    });
}

alert( Five({
    "заяц": "петя",
    "крыльцо": "стрельцов"
}, "вышел заяц на крыльцо"));


Сообщение от Hekumok
А 5 задачу Dim@ уже сделал...
я ж Вам задачи дал, а не всем

Сообщение от Hekumok
И мне кажется, что 3-ью задачу низзя сделать без флагов
сдаётесь? сделать можно, и очень просто. учите реги
Ответить с цитированием