Начала изучать JS, помогите, пожалуйста сделать задания.
1.Общие символы двух строк.
2.Разные символы двух строк. 3.Сколько раз в числе встречается каждая его цифра. 4.Наиболее популярные цифры числа -- (цифры, которые встречаются в числе наибольшее число раз). Заранее спасибо:) :) |
Цитата:
map={} number=123344456780 string=number+"" string.replace(/[\s\S]/g, function(symbol){ map[symbol]=string.match(new RegExp(symbol, "g")).length }) alert(JSON.stringify(map)) //>>>> {"0":1,"1":1,"2":1,"3":2,"4":3,"5":1,"6":1,"7":1,"8":1} |
Цитата:
str1="abcdee" str2="bcefydyy" str3="123456" str4="345678" joint=function(str1, str2){ var result="" str1.replace(/[\s\S]/g, function(symbol){ var re=new RegExp(symbol) if(re.test(str2)&&!re.test(result)) result+=symbol }) return result } alert("joint: "+joint(str1, str2)) alert("joint: "+joint(str3, str4)) diff=function(str1, str2){ var result="" str1.replace(/[\s\S]/g, function(symbol){ var re=new RegExp(symbol) if(!re.test(str2)&&!re.test(result)) result+=symbol }) str2.replace(/[\s\S]/g, function(symbol){ var re=new RegExp(symbol) if(!re.test(str1)&&!re.test(result)) result+=symbol }) return result } alert("diff: "+diff(str1, str2)) alert("diff: "+diff(str3, str4)) //>>>> joint: bcde //>>>> joint: 3456 //>>>> diff: afy //>>>> diff: 1278 |
Цитата:
map={} number=33444567778 string=number+"" string.replace(/[\s\S]/g, function(symbol){ map[symbol]=string.match(new RegExp(symbol, "g")).length }) names=[] values=[] for(i in map){ if(!map.hasOwnProperty(i)) break names.push(i); values.push(map[i]) } delete i maxNum=Math.max.apply(null, values) result=[] values.forEach(function(n, i){if(n===maxNum) result.push(names[i])}) alert(result) //>>>> [ '4', '7' ] |
Часовой пояс GMT +3, время: 15:41. |