Notice: Undefined variable: this in /home/dimarini/public_html/libraries/src/Application/CMSApplication.php on line 441

JavaScript II част

Обекти Array в JavaScript

Списъка (array) е специална променлива, която може едновременно да съдържа повече от една стойност. Да предположим, че имаме някакъв списък (например с имена служители), които трябва да съхраним в променливи. Ако се използват единични променливи това би изглеждало по следния начин:

        name1="Иванов";
name2="Петров";
name3="Савов";
Обаче, ако служителите са повече единственото решение е да се използва специалната променлива array. Тази списък (array) може да съхранява всички стойности под едно наименование. Достъп до тези стойности се осъществява с повикване на определено ID в наименованието на съответня списък.
Array може да се дефинира по три начина. В долните три примера е представен кода за създаване на обект array, който е наречен officeStaff:
Начин 1. Разширен списък: Като аргумент на списъка newArray може да се добави цяло число за да се определеи неговия размер.
    var officeStaff=new Array(); 
officeStaff[0]="Иванов";
officeStaff[1]="Петров";
officeStaff[2]="Савов";
Начин 2. Концентриран списък
    var officeStaff=new Array("Иванов","Петров","Савов"); 
Начин 3. Дословен списък
    var officeStaff=["Иванов","Петров","Савов"]; 
Определен елемент от списъка се достига като се запише името на array и неговия пореден номер. Поредните номера започват от 0. Например:
    document.write(officeStaff[0]);
ще даде като резултата:
    Иванов
Промяната на данните в съществуващ списък се осъществява като се зададе нова стойност с определен пореден номер на списъка:
    officeStaff[0]="Ганчев";
По-долу са дадени примери с действия върху списъци (виж примера в браузъра):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Array в JavaScript </title>
</head>
<body>
<script type="text/javascript">
document.write("<strong>" + "Свързване на два списъка" + "</strong>" +"<br />")
var parents = ["Иван", "Младенка"];
var children = ["Петър", "Жана"];
var family = parents.concat(children);
document.write(family +"<br />" +"<br />");
document.write("<strong>" + "Свързване на всички елементи в списъка" + "</strong>" +"<br />")
var fruits=["Ябълки","Круши","Пъпеши","Дини"];
document.write(fruits.join() + "<br />");
document.write(fruits.join("+") + "<br />");
document.write(fruits.join("; ")+"<br />" +"<br />");
document.write("<strong>" + "Премахване на последният елемент в списъка" + "</strong>" +"<br />")
document.write(fruits.pop() + "<br />");
document.write(fruits + "<br />");
document.write(fruits.pop() + "<br />");
document.write(fruits +"<br />" +"<br />");
document.write("<strong>" + "Добавяне на нов елемент в списъка" + "</strong>" +"<br />")
document.write(fruits.push("Пъпеши") + "<br />");
document.write(fruits.push("Дини","Праскови") + "<br />");
document.write(fruits +"<br />" +"<br />");
document.write("<strong>" + "Обратен ред на елементите в списъка" + "</strong>" +"<br />")
document.write(fruits.reverse() +"<br />" +"<br />");
document.write("<strong>" + "Премахване на първият елемент в списъка" + "</strong>" +"<br />")
document.write(fruits.shift() + "<br />");
document.write(fruits + "<br />");
document.write(fruits.shift() + "<br />");
document.write(fruits +"<br />" +"<br />");
document.write("<strong>" + "Избиране на елемент в списъка" + "</strong>" +"<br />")
var fruits=["Ябълки","Круши","Пъпеши","Дини"];
document.write(fruits.slice(0,1) + "<br />");
document.write(fruits.slice(1) + "<br />");
document.write(fruits.slice(-2) + "<br />");
document.write(fruits +"<br />" +"<br />");
document.write("<strong>" + "Подреждане по азбучен ред" + "</strong>" +"<br />")
document.write(fruits.sort() +"<br />" +"<br />");
document.write("<strong>" + "Подреждане на числа в нарастващ и намаляващ ред" + "</strong>" +"<br />")
function orderAscending(a, b)
{return a - b; }
var n = ["21", "3", "16", "1", "85", "14"];
document.write(n.sort(orderAscending) +"<br />");
function orderDescending(a, b)
{return b - a; }
var n = ["21", "3", "16", "1", "85", "14"];
document.write(n.sort(orderDescending) +"<br />" +"<br />");
document.write("<strong>" + "Добавяне на елемент в списъка на 3 место" + "</strong>")
document.write(fruits.splice(2,0,"Лимон") + "<br />");
document.write(fruits +"<br />" +"<br />");
document.write("<strong>" + "Преобразуване на списък в текст" + "</strong>" + "<br />")
document.write(fruits.toString() +"<br />" +"<br />");
document.write("<strong>" + "Добавяне на елемент в началото на списъка. Не работи в IE" + "</strong>" + "<br />")
document.write(fruits.unshift("Череши") + "<br />");
document.write(fruits.unshift("Кайсии","Дюли") + "<br />");
document.write(fruits);
</script>
</body>
</html>