Фрагмент сценария Результат

function compare(a, b)

{ return a - b}

var a = new Array (10, 9, 280, 58)

-

a.sort (compare)

document.write(a, ‘<BR>’) 9,10,58,280

a. sort ()

document.write(a) 10,280,58,9

Использование многих из перечисленных выше методов приводит к копированию части массива или массива целиком. При этом следует помнить, что если элементами массива являются объекты, скопированы будут лишь указатели на них. В результате изменения, вносимые в элементы одного массива, отразятся и в другом.


Упражнения

  1. Задан одномерный массив вещественных чисел. Напишите сценарий, который определяет число положительных элементов массива.

2. Задан одномерный массив целых чисел. Напишите сценарии, который определяет номер последнего минимального значения.

3. Напишите сценарий, при работе которого определяется количество элементов одномерного массива, совпадающих с заданным.


Строки

Строка – конечная последовательность символов некоторого алфавита.

Пустая строка – это строка, не содержащая ни одного символа. Строковый литерал представляет собой последовательность символов, заключенную в одинарные или двойные кавычки. Строковые литералы или строковые переменные являются в языке JavaScript объектом типа String. Для того чтобы создать строковый объект, надо применить конструктор newString [ s=newString(“результат=”) ].

Объект string имеет единственное свойство length (длина_строки). Выражение s.length выдает значение 10, равное длине строки, в строке s.

Стандартные фукции:

Number(s) – преобразует строковый параметр s в число.

String(n) – преобразует число n в строку.

§ Метод charAt(num) предназначен для выделения из строки n -го символа. Он имеет один параметр – индекс извлекаемого символа, и возвращает строку, состоящую из одного символа – символа исходной строки с индексом num. Исходная строка при этом остается неизменной.

§ Метод charCodeAt(num) возвращает цифровой код Unicode-символа. Метод charCodeAt(num) имеет один параметр – символ, Unicode-код которого метод должен возвратить.

Фрагмент сценария Результат
var str = ‘заяц’ for (var i=0; i<str.length; i++) {var char=str.charAt(i) var code=str.charCodeAt(i) document.write(char, ‘ – ’, code, ‘<BR>’) }   з – 1079 а – 1072 я – 1103 ц – 1094

§ Метод concat(str1, str2, …) (конкатенация строк) предназначен для объединения двух и более строк. Имеет произвольное количество параметров – по числу объединяемых строк. Аналогичен такому же методу для массивов. Строки str1, str2 и т.д. будут присоединены к исходной строке. При этом никаких символов-разделителей между строками при объединении вставлено не будет. Поэтому все необходимые пробелы или другие символы должны быть включены в исходные строки до объединения.

Фрагмент сценария Результат
var str1 = ‘Ну, ’ var str2 = ‘заяц, ’ var str3 = ‘погоди!’ var str = str1.concat(str2, str3) document.write(str)   Ну, заяц, погоди!

§ Метод slice(begin, end) предназначен для выделения части строки, обычно называемой подстрокой. Подстрока начинается с символа с индексом end – 1. Если аргумент end отсутствует, возвращается часть строки от begin до конца. Параметр end может также принимать и отрицательные значения. В таком случае он интерпретируется как смещение последнего символа подстроки относительно конца исходной строки.

Язык JavaScript предоставляет еще два метода объекта Stringsubstr() и substring(), предназначенных для выделения подстроки. Все три метода (включая slice()) принимают два параметра, возвращают результирующую подстроку и обладают одинаковой функциональностью. Однако по нескольким причинам все же лучше всегда пользоваться методом slice(): во-первых, он универсален для строк и массивов, во-вторых, одинаково правильно выполняется во всех браузерах (чего нельзя сказать о методе substr()).

§ Метод indexOf(str) производит поиск строки str в исходной строке. Возвращаемым значением метода является индекс (номер символа начала подстроки в исходной строке) для первого экземпляра искомой подстроки в строке.

§ Метод lastIndexOf(str) выполняет поиск строки str в исходной строке. Возвращаемым значением метода будет индекс последнего экземпляра подстроки в строке.

Фрагмент сценария Результат
var str = ‘Иван Иванович Иванов ’ var ind1 = str.indexOf (‘Иван’) var ind2 = str.lastIndexOf (‘Иван’) umaet.write(ind1, ‘<BR>’, ind2, ‘<BR>’) document.write(str.slice(ind2))   Иванов

§ Метод split (str) предназначен для разделения исходной строки на массив строк (исходная строка при этом не изменяется) (см. листинг 4.2), отделяемых заданным символом –разделителем. Метод имеет один параметр – разделительный символ (или строку). Результатом выполнения данного метода будет массив строк. Строкf str используется как разделитель (в листинге 4.2 для разбития строки на слово в качестве разделителя применяется символ пробела). Если str – пустая строка, то каждый элемент возвращаемого массива будет содержать по одной букве из исходной строки. Действие этого метода по своей сути противоположно действию метода join() массивов.

§ Метод substr(num1, num2) позволяет выделять из строки подстроку. Пример: [ s= “сборник”, substr(0,4) ], результат: “ сбор ”.

§ Метод toUpperCase() преобразует строку символов в верхний регистр. Он возвращает строку, являющейся копией исходной, в которой все буквы становятся заглавными. Исходная строка при этом не изменяется.

§ Метод toLowerCase() преобразует строку символов в нижний регистр, т.е. то же, что и предыдуший метод, но при этом все буквы в строке становятся строчными.

Фрагмент сценария Результат
var str1 = ‘Заяц ’ var str2 = ‘Волк ’ document.write (str1.toUpperCase(), ‘<BR>’) document.write (str2.toLowerCase ())   ЗАЯЦ волк
  • Метод fromCharCode (num1, num2,…) реорганизует последовательности кодов символов в строку. Данный метод примечателен тем, что вызывается не для какой-то конкретной строки, а для статического объекта String.
Фрагмент сценария Результат
var str = String.fromCharCode (1079,1072,1103,1094,32,169) document.write (str) заяц ©
  • Метод replace предназначен для поиска подстроки в строке и замены найденных фрагментов другой подстрокой. Он имеет два параметра: первый – регулярное выражение, которое задает маску выполняемых изменений, а второй – строка замены.

Методы объекта String можно использовать не только со строковыми переменными, но, если это необходимо, и со строковыми литералами. Для этого нужно точно так же, как и в случае применения переменной, после литерала поставить точку и ввести имя метода. Например, ‘Привет’. toUpperCase () является абсолютно корректным выражением языка JavaScript.

При вставке символа из таблицы Unicode должен быть введен четырехзначный шестнадцатеричный код символа. Это тот же код, который применяется в методах charCodeAt () и fromCharCode(), только в шестнадцатеричной системе исчисления. Например, для использования в строке символа © (код - 169) нужно ввести \u00A9.

Любая управляющая последовательность воспринимается как один символ не только при выводе на экран, но при определении длины строки, а также при любых других операциях со строкой.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: