Работа со строками
c=1;d=2; a=c+''+d;\\преобразуем в строку str=parseInt(a);\\парсим b=str.charAt(0);\\извлекаем первый символ alert(b); Почему ругается?:cray: |
Поточму что Вы пытаетесь взять символ из числа
b=(parseInt(c+d+'')+'')[0] |
Цитата:
|
b=(parseInt(''+c+d)+'')[0] не там кавычки поставил |
Спасибо
|
Подскажите, пожалуйста. Не знаю язык (буду учить, честно) но нужно сейчас решить такую проблему
На входе: What is 14+5? На выходе надо дать ответ. Я понимаю алгоритм: вытащить то, что будет после второго пробела и до +, потом - то, что после + и до пробела. Т.к. числа могут быть и однозначные, и двухзначные. Подскажите, с какими функциями работать, пожалуйста. |
DartVeider,
replace() split() parseInt() |
Цитата:
var s = "What is 14+5?"; function f( s ) { var t = s.match( /(\d+)([-+*\/])(\d+)/ ); if( ! t ) return null; t[1] = parseInt( t[1] ); t[3] = parseInt( t[3] ); switch( t[2] ) { case "+": return t[1] + t[3]; case "-": return t[1] - t[3]; case "*": return t[1] * t[3]; case "/": return t[1] / t[3]; } } alert( f( s ) ); Цитата:
|
Я бы с помощью replace удалил из строки все буквы и пробелы, затем сплитом поделил полученное через знак на переменные.
|
a1 = 4 a2 = 9 result = "a"+"1" alert(result) // нужно 4 Здравствуйте! Подскажите пожалуйста, можно ли сконструировать имя переменной из строки и числа чтобы получить доступ к a1? Спасибо! |
Цитата:
<!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> a1 = 4; a2 = 9; result = window["a"+"1"] alert(result) </script> </head> <body> </body> </html> |
Еще вариант:
a1 = 4 a2 = 9 result = eval("a"+"1") alert(result) // нужно 4 |
rgl, мне за примеры с eval() постоянно минусуют карму... :D
|
И првильно делают.)
|
Цитата:
А про eval, разработчики языка, стандарта, такие глупцы, сделали eval не понимая? eval - да, не надо использовать там, где можно, но если без никак, то ничего другого не остается. <!DOCTYPE html> <html> <head> <!-- <script src="http://code.jquery.com/jquery-latest.js"></script> <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> </style> <script type="text/javascript"> function f() { var a1 = 4; var a2 = 9; var result = window["a"+"1"] alert(result); result = eval( "a"+"1" ); alert(result); } f(); </script> </head> <body> </body> </html> |
Цитата:
|
Кекеке.:haha:
|
Большое спасибо всем за помощь!
через eval то что надо! :) |
А есть возможность обратно записать значение в эту конструкцию, или как-то по другому?
Может я не тем путем иду... Я передаю 2 аргументы (value и id) с 20-ти инпутов в функцию JS. Хочу чтобы эти данные обрабатывались универсальным кодом, а не копипастом для каждого инпута. Поэтому решил подставлять в код переменные аргументов, в зависимости какой инпут передает значение Если копипастом будет так: view.hlookat2.value = view.hlookat.value То есть у меня копируется значение с html5-ползунка в инпут text UPD: разобрался... извините, я только начал учить JS. x = "hlookat_" + "2" document.getElementById(x).value = hlookat.value |
Часовой пояс GMT +3, время: 21:53. |