Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   свойство length (https://javascript.ru/forum/misc/48738-svojjstvo-length.html)

nesfiraty 15.07.2014 13:49

свойство length
 
ребят такая ситуация. Читаю книгу по js но практического опыта нет и как следствие многое не понимаю ибо все достигается путем практического применения. К сути вопроса пробовал данное свойство написать самому!! может кто знает алгоритм работы?? мне важен именно алгоритм!!

skrudjmakdak 15.07.2014 13:55

я плохо понимаю, что вам надо)) давайте вашу программу

nesfiraty 15.07.2014 13:57

вот программа

function length_d(string){
var anchor_string = string + 1;//добаляем якорь к строке
var massive_alements = [];
var count = 0 //счетчик числа обходов в строке
for(var i=0;i<=4; i++){
var element = anchor_string.charAt(i);
massive_alements.push(element);
if (massive_alements[i] == 1){


}else{
count++;
}
}alert(count - 1);

}
length_d (" лох")

nesfiraty 15.07.2014 13:58

суть в том что я не могу понять как сделать цикл for он требует задавать условие окончания цикла а мне изначально неизвестно когда цыкл закончиться!!

skrudjmakdak 15.07.2014 14:02

у вас есть входной параметр string, что внего передается, обычная строка? и что вы хотите получить в конечном итоге с этой строкой. узнать длину или найти кол-во каких то символов?

skrudjmakdak 15.07.2014 14:03

Цитата:

Сообщение от nesfiraty (Сообщение 321138)
суть в том что я не могу понять как сделать цикл for он требует задавать условие окончания цикла а мне изначально неизвестно когда цыкл закончиться!!

string.length

nesfiraty 15.07.2014 14:03

тоесть я пытаюсь данное свойство сам написать и делаю следующее

1. в функцию попадает строка.
2. к строке прибавляю единицу чтобы узнать ее конец. как бы якорь.
3. создаю цикл который переберет все элементы строки запишет их в массив и проверит если элемент массива будет моим якорем то мы заканчиваем программу выводим длинну строки - 1 удаляя якорь. и Вот вопрос как это правильно реализовать ведь мы не знаем когда for(var i=0;i<=4; i++) закончиться)) как тут быть??

skrudjmakdak 15.07.2014 14:05

<html>
	<head>
		<title>example</title>
	</head>

	<body>
		<script>
			var str = 'my string';
			console.log('длинна строки равна: ' + str.length);
		</script>
	</body>
</html>

nesfiraty 15.07.2014 14:06

блин как бы это до вас до нести string.length понятна но дело в том что я и пытаюсь написать самописную length)) то есть подразумевая что ее нет)))

извиняюсь за глупость но просто для практики переписываю уже готовые функции))

nesfiraty 15.07.2014 14:07

мне интересен алгоритм ее работы как она устроена?)) вот в чем вопрос))

BETEPAH 15.07.2014 14:09

Скажу сразу, что нативный алгоритм не знаю
function length_d(string){
  var count = 0;
  while (string.charAt(++count));
  alert (count);
}
length_d (" лох")

skrudjmakdak 15.07.2014 14:09

что то получилось..

<html>
	<head>
		<title>example</title>
	</head>

	<body>
		<script>
			
			
			
function length_d(string)
	{
	var massive_alements = [];
	var count = 0;
	
	for(var i = 0, ln = string.length; i < ln; ++i)
		{
		var element = string.charAt(i);
		massive_alements.push(element);
		if (element == 1)
			{
			console.log('равен единице');
			}
		else
			{
			++count;
			}
		}
	
	console.log(count);
	}
length_d ('my string');
		</script>
	</body>
</html>

skrudjmakdak 15.07.2014 14:12

я чет бред какойто написал))

nesfiraty 15.07.2014 14:13

спасибо за помощь ребят)) от всей души благодарю. не подскажете а есть ли книга направленная на практическое применение js??

skrudjmakdak 15.07.2014 14:20

неплохая документация: http://learn.javascript.ru/
а практическое применение? пойдешь на работу там и будет практическое применение))

nesfiraty 15.07.2014 14:30

ага вот только без прочного знания на работу сейчас не берут)) работал верстальщиком год и css html и подключал готовые плагины)) но потом призвали в армию)) вернулся и все уже без js никуда)))

nesfiraty 15.07.2014 14:31

вот засел за жесткое изучение)))


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