Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2015, 22:23
Новичок на форуме
Отправить личное сообщение для NastyaSS Посмотреть профиль Найти все сообщения от NastyaSS
 
Регистрация: 16.09.2015
Сообщений: 4

Начала изучать JS, помогите, пожалуйста сделать задания.
1.Общие символы двух строк.
2.Разные символы двух строк.
3.Сколько раз в числе встречается каждая его цифра.
4.Наиболее популярные цифры числа -- (цифры, которые встречаются в числе наибольшее число раз).

Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2015, 23:13
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

Сообщение от NastyaSS
3.Сколько раз в числе встречается каждая его цифра.
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}

Последний раз редактировалось newtimebigtime, 16.09.2015 в 23:19.
Ответить с цитированием
  #3 (permalink)  
Старый 17.09.2015, 01:55
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

Сообщение от NastyaSS
1.Общие символы двух строк.
2.Разные символы двух строк.
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
Ответить с цитированием
  #4 (permalink)  
Старый 17.09.2015, 02:56
Аспирант
Посмотреть профиль Найти все сообщения от newtimebigtime
 
Регистрация: 16.09.2015
Сообщений: 34

Сообщение от NastyaSS
4.Наиболее популярные цифры числа -- (цифры, которые встречаются в числе наибольшее число раз).
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' ]
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите. Нужно дописать сточку одну на js impi Общие вопросы Javascript 2 08.10.2014 08:32
Помогите сделать задание, пожалуйста. mortivor Общие вопросы Javascript 10 18.04.2014 14:56
Пожалуйста помогите сделать проверку выполнения vk Dodik Общие вопросы Javascript 3 01.03.2013 16:49
Помогите пожалуйста с выпадающим меню на JS loginovvs Общие вопросы Javascript 11 28.11.2012 08:09
Помогите сделать программу расчета зарплаты сотрудникам Юлия29 Общие вопросы Javascript 1 22.02.2009 23:11