Uploaded by reprise.by

netology.ru -Структуры данных-

advertisement
Введение в методы и свойства
Все значения в JavaScript, за исключением null и undefined, содержат набор вспомогательных
методов (функций) и значений, доступных «через точку».
Пример обращения к свойству
length ​
­ Содержит длинну строки
var​str ​
=​​
'Привет мир';
alert​
(​
str​
.​
length​
);
Пример вызова метода
Справочник методов для работы со строками
toUpperCase() ​
­ возвращает строку в верхнем регистре
var​str ​
=​​
'Привет мир';
alert​
(​
str​
.​
toUpperCase​
());
Массивы
Массив ­ это группа значений, объединенная по смыслу. Например: массив дней недели.
Первый ­ понедельник, второй ­ вторник и т. д.
Способы создания массива
Есть два эквивалентных способа создания массива:
var​a ​
=​​
new​​
Array​
()
var​a ​
=​​
[]
Или, сразу со значениями
var​week ​
=​​
new​​
Array​
(​
'Понедельник'​
,​​
'Вторник'​
,​​
'Среда'​
,​​
'Четверг'​
,
'Пятница'​
,​​
'Суббота'​
,​​
'Воскресенье'​
);
var​week ​
=​​
[​
'Понедельник'​
,​​
'Вторник'​
,​​
'Среда'​
,​​
'Четверг'​
,​​
'Пятница'​
,
'Суббота'​
,​​
'Воскресенье'​
];
Элементы нумеруются, начиная с нуля. Чтобы получить нужный элемент из массива —
указывается его номер в квадратных скобках:
var​week ​
=​​
[​
'Понедельник'​
,​​
'Вторник'​
,​​
'Среда'​
,​​
'Четверг'​
,​​
'Пятница'​
,
'Суббота'​
,​​
'Воскресенье'​
];
alert​
(​
week​
[​
0​
]);
alert​
(​
week​
[​
1​
]);
alert​
(​
week​
[​
2​
]);
Через alert можно вывести и массив целиком. При этом его элементы будут перечислены
через запятую:
var​week ​
=​​
[​
'Понедельник'​
,​​
'Вторник'​
,​​
'Среда'​
,​​
'Четверг'​
,​​
'Пятница'​
,
'Суббота'​
,​​
'Воскресенье'​
];
alert​
(​
week​
);
Редактирование элементов массива происходит, путем обращение к нему по ключу с
присваением нового значения
var​fruits ​
=​​
[​
'Апельсин'​
,​​
'Банан'​
,​​
'Ананас'​
];
fruits​
[​
0​
]​​
=​​
'Нектарин';
alert​
(​
fruits​
);
Добавление нового элемента, возможно таким же образом
var​fruits ​
=​​
[​
'Апельсин'​
,​​
'Банан'​
,​​
'Ананас'​
];
fruits​
[​
3​
]​​
=​​
'Персик';
alert​
(​
fruits​
);
Получение длинны массива, свойство ​
length
Длина ​
length ​
— это не количество элементов массива, а последний индекс + 1.
var​fruits ​
=​​
[​
'Апельсин'​
,​​
'Банан'​
,​​
'Ананас'​
];
alert​
(​
fruits​
.​
length​
);
Методы для работы с массивом
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array
push ​
­ Добавляет элементы в конец массива. Возвращает новую, увеличенную длину
массива.
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
fruits​
.​
push​
(​​
"Персик"​
,​​
"Нектарин"​
);
pop ​
­ Удаляет из массива первый элемент и возвращает массив обратно
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
alert​
(​fruits​
.​
pop​
()​​
);
unshift ​
­ Добавляет элементы в начало массива. Возвращает новую, увеличенную длину
массива.
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
fruits​
.​
unshift​
(​​
"Персик"​
,​​
"Нектарин"​
);
shift ​
­ Удаляет из массива первый элемент и возвращает массив обратно
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
alert​
(​fruits​
.​
shift​
()​​
);
join ​
­ объединяет все элементы массива в строку, используя ​
separator ​
в качестве разделителя
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
alert​
(​fruits​
.​
join​
(​
", "​
)​​
);
reverse ​
­ Меняет порядок сортировеи элементов на обратный
var​fruits ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
alert​
(​fruits​
.​
reverse​
()​​
);
sort ​
­ Сортирует элементы массива, может принимать необязательным параметром функцию
сортировки. Воспринимает переданные числовые параметры как строковые
var​numbers ​
=​​
[​
5​
,​​
-​
3​
,​​
0​
];
alert​
(​numbers​
.​
sort​
()​​
);
Пример с использованием замыкания
var​numbers ​
=​​
[​
4​
,​​
2​
,​​
5​
,​​
1​
,​​
3​
];
numbers​
.​
sort​
(​
function​
(​
a​
,​b​
)​{
return​a ​
​
-​b;
});
alert​
(​
numbers​
);
concat ​
­Обьединяет два или более массивов
var​alpha ​
=​​
[​
"a"​
,​​
"b"​
,​​
"c"​
];
var​numeric ​
=​​
[​
1​
,​​
2​
,​​
3​
];
var​alphaNumeric ​
=​alpha​
.​
concat​
(​
numeric​
);
alert​
(​
alphaNumeric​
);
slice ​
­ Возвращает часть существующего массива, не изменяет сам массив.
arr.slice([begin[, end]])
var​fruits ​
=​​
[​
'Банан'​
,​​
'Апельсин'​
,​​
'Лимон'​
,​​
'Яблоко'​
,​​
'Манго'​
];
var​citrus ​
=​fruits​
.​
slice​
(​
1​
,​​
3​
);
alert​
(​
citrus​
);
alert​
(​
fruits​
.​
slice​
(-​
2​
));
alert​
(​
fruits​
.​
slice​
(​
2​
,​​
-​
1​
));
splice ​
­ Изменяет содержимое массива, удаляя существующие элементы и/или добавляя
новые.
array.splice(start, deleteCount[, item1[, item2[, ...]]])
var​myFish ​
=​​
[​
'ангел'​
,​​
'клоун'​
,​​
'мандарин'​
,​​
'хирург'​
];
// удаляет 0 элементов с индекса 2 и вставляет элемент
'барабанщик'
var​removed ​
=​myFish​
.​
splice​
(​
2​
,​​
0​
,​​
'барабанщик'​
);
// myFish равен ['ангел', 'клоун', 'барабанщик', 'мандарин', 'хирург']
// removed равен [], никакие элементы не были удалены
// удаляет 1 элемент с индекса 3
removed ​
=​myFish​
.​
splice​
(​
3​
,​​
1​
);
// myFish равен ['ангел', 'клоун', 'барабанщик', 'хирург']
// removed равен ['мандарин']
// удаляет 1 элемент с индекса 2 и вставляет элемент 'телескоп'
removed ​
=​myFish​
.​
splice​
(​
2​
,​​
1​
,​​
'телескоп'​
);
// myFish равен ['ангел', 'клоун', 'телескоп', 'хирург']
// removed равен ['барабанщик']
// удаляет 2 элемента с индекса 0 и вставляет элементы
'попугай', 'анемон' и 'голубая'
removed ​
=​myFish​
.​
splice​
(​
0​
,​​
2​
,​​
'попугай'​
,​​
'анемон'​
,​​
'голубая'​
);
// myFish равен ['попугай', 'анемон', 'голубая', 'телескоп', 'хирург']
// removed равен ['ангел', 'клоун']
// удаляет 2 элемента с индекса 3
removed ​
=​myFish​
.​
splice​
(​
3​
,​​
Number​
.​
MAX_VALUE​
);
// myFish равен ['попугай', 'анемон', 'голубая']
// removed равен ['телескоп', 'хирург']
Перебор элементов массива
Используя цикл
var​arr ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
for​​
(​
var​i ​
=​​
0​
;​i ​
<​arr​
.​
length​
;​i​
++)​{
alert​
(​arr​
[​
i​
]​​
);
}
forEach ​
­ Последовательно перебирает все элементы массива. Требует подключения
библиотеки эмуляции ​
es5­shim​
для браузеров, не имеющих нативной поддержки этого метода.
К ним относятся IE 8 и более ранние версии, которые до сих пор кое­где еще используются.
var​arr ​
=​​
[​
"Яблоко"​
,​​
"Апельсин"​
,​​
"Груша"​
];
arr​
.​
forEach​
(​
function​
(​
item​
,​i​
,​arr​
)​{
alert​
(​i ​
+​​
": "​​
+​item ​
+​​
" (массив:"​​
+​arr ​
+​​
")"​​
);
});
Download