Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Штудирую книгу ильи) усложнил себе задание (https://javascript.ru/forum/events/52263-shtudiruyu-knigu-ili-uslozhnil-sebe-zadanie.html)

рони 15.12.2014 17:25

:)
<script>
   var a = Array(5).join('#_'),
       b = Array(5).join('_#'),
       c = Array(5).join(a + '<br>' +b + '<br>');
    document.write(c)
</script>

Erolast 15.12.2014 18:56

Конкурс извратов? :)
var result = "";
for (var i = 1; i <= 8; i++)
    result += "#_".repeat(4).split("")[i & 1 ? "slice" : "reverse"]().join("") + "\n";
alert(result);

kaflan 19.12.2014 11:14

Цитата:

Сообщение от Erolast (Сообщение 346668)
Конкурс извратов? :)
var result = "";
for (i = 1; i <= 8; i++)
    result += "#_".repeat(4).split("")[i & 1 ? "slice" : "reverse"]().join("") + "\n";
alert(result);

крут. продолжаю изучать книгу выразительный джаваскрипт.
Цитата:

Считаем бобы. Символ номер N строки можно получить, добавив к ней .charAt(N) ( “строчка”.charAt(5) ) – схожим образом с получением длины строки при помощи .length. Возвращаемое значение будет строковым, состоящим из одного символа (к примеру, “к”). У первого символа строки позиция 0, что означает, что у последнего символа позиция будет string.length – 1. Другими словами, у строки из двух символов длина 2, а позиции её символов будут 0 и 1. Напишите функцию countBs, которая принимает строку в качестве аргумента, и возвращает количество символов “B”, содержащихся в строке. Затем напишите функцию countChar, которая работает примерно как countBs, только принимает второй параметр — символ, который мы будем искать в строке (вместо того, чтобы просто считать количество символов “B”). Для этого переделайте функцию countBs.
вот не пишите решение хочу пока сам потом, вам на проверку закину )

kaflan 19.12.2014 16:28

var result = 0;

function countChar(b, n) {
    for (var i = 0; i < b.length; i++) {
        if (b.charAt(i) == n) {
           result += i;
        }
    }console.log(result);
}
console.log(countChar("hendhendhend", "e"))

полчуаеться 15. хотя должно быть 3. я даже понимаю чего 15, но не понимаю чего оно 3 не показует. наверное я еще что то путаю) подсобите

рони 19.12.2014 16:58

Цитата:

Сообщение от kaflan
result += i;

медитируйте до просветления -- как это может дать 3

kaflan 19.12.2014 17:51

Цитата:

Сообщение от рони (Сообщение 347268)
медитируйте до просветления -- как это может дать 3

подсказку понял)
http://jsfiddle.net/Kaflan/6tcogb16/6/
как то так

рони 19.12.2014 18:04

Цитата:

Сообщение от kaflan
подсказку понял)

и как теперь выглядит эта строка?

Erolast 20.12.2014 10:08

Много лишних действий. Зачем ты собираешь из совпадений строку и возвращаешь ее длину, когда можно просто возвратить количество совпадений? И называй переменные понятно, что значат эти твои b, n?

рони 20.12.2014 10:46

Цитата:

Сообщение от Erolast
Зачем ты собираешь из совпадений строку и возвращаешь ее длину

и где?

Erolast 20.12.2014 11:52

Цитата:

var result = "";
result += b.charAt(i);
console.log(result.length);
А еще result объявляется не в той области видимости, где используется.


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