Работа со строками
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, время: 22:17. |