Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   как поменять местами значения в строке javascript? (https://javascript.ru/forum/misc/42040-kak-pomenyat-mestami-znacheniya-v-stroke-javascript.html)

vladimir7517 10.10.2013 09:52

как поменять местами значения в строке javascript?
 
есть строка вот такого типа "43.262767791748 ,76.9411392211914"
а мне нужно чтобы она была вот такого "76.9411392211914, 43.262767791748"
как сделать?хотел сделать чисто substrом но длинна цифр меняется...как реализовать данный скрипт?:write:

рони 10.10.2013 10:03

vladimir7517,
alert("43.262767791748 ,76.9411392211914".replace(/([^,]+)\s,([^,]+)/, "$2 ,$1" ));

vladimir7517 10.10.2013 10:10

Супер профессор,спасибо

jeysmook 10.10.2013 10:36

vladimir7517,
Можно:
<html>
<head>
<title>Документ без названия</title>
<script type="text/javascript">
function n()
{
	var a = "43.262767791748 ,76.9411392211914";
	var b = '';
	b += a.substr(a.indexOf(',') + 1, a.length - a.indexOf(','));
	b += ', '+a.substr(0, a.indexOf(','));
	alert(b);
}
</script>
</head>

<body>
	<a href="javascript:n();">CLICK</a>
</body>
</html>

keen 10.10.2013 10:41

вот способ красивее)
function reverse(s) {
    var arr = s.split(',');
    return arr[1] + ', ' + arr[0];
};

console.log(reverse('43.262767791748 ,76.9411392211914')); // 76.9411392211914, 43.262767791748

BETEPAH 11.10.2013 19:59

Цитата:

Сообщение от keen
var arr = s.split(',');

пробел пропустили

keen 11.10.2013 20:08

Цитата:

Сообщение от BETEPAH (Сообщение 276002)
пробел пропустили

где?) как по мне - всё на месте.

простое и элегантное решение.

BETEPAH 11.10.2013 20:29

Цитата:

Сообщение от keen (Сообщение 276004)
где?) как по мне - всё на месте.

простое и элегантное решение.

Я не спорю, сам хотел его предложить, только разбивать нужно строку по двум символам - пробел и запятая, иначе в arr[0] попадет лишний пробел в конце

keen 11.10.2013 20:38

дык у меня более универсальное решение - на случай если числа будут разделены ", ", а не только " ," .

BETEPAH 11.10.2013 20:46

function reverse(s) {
var arr = s.split(',');
var arr2 = s.split(' ,');
    alert(arr[0].length + ' : ' + arr2[0].length);
};
reverse('43.262767791748 ,76.9411392211914');


Часовой пояс GMT +3, время: 14:27.