Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

JavaScript : Масиви та робота з ними

Дуже часто при написанні програми необхідно опрацювати однотипний список елементів (перелік студентів, номери вулиці тощо). Щоб не створювати для кожного запису окремої змінної їх можна об'єднати у масив даних. Наприклад:

var student1 = 'Петро';
var student2 = 'Микола';
var student3 = 'Іван';

в масиві це буде виглядати наступним чином:

var studentArr = ['Петро', 'Микола', 'Іван'];

якщо б у Вас був не список із 3-х імен, а наприклад 5000, створювати для кожного окрему змінну було б надто затратно, та й потім потрібно б було писати перевірку для кожної змінної окремо, тут нам допомагає масив.

Масиви можуть містити великі обсяги даних під одним ім'ям, а доступ до їх елементів відбувається через задання внутрішнього індексу.

Створення масиву

Як вже розглянули, при оголошенні змінної їм можна одразу присвоїти масив значень. При тому пропуски між елементами не важливі і можуть складатись із кількох рядків:

var studentArr = [
	'Петро', 
	'Микола', 
	'Іван'
];

Також масив можна створити за допомогою наступного запису:

var studentArr = new Array('Петро', 'Микола', 'Іван');

Обидва оголошення виконують одне і те ж, але для простоти, читабельності і швидкості виконання, рекомендовано використовувати перший спосіб.


Доступ до елементів масиву

кожен елемент масиву має відповідний порядковий індекс, за яким і отримується значення:

alert(studentArr[0]); //Петро
alert(studentArr[1]); //Микола
alert(studentArr[2]); //Іван

Примітка: індексація масивів починається з 0

Наприклад: Змінимо 2 елемент масиву на 'Тарас' і виведемо весь масив у блок:

function DemoAddArr(){
	var studentArr = ['Петро', 'Микола', 'Іван'];
	studentArr[1] = 'Тарас';
	$('#DemoAddArr')[0].innerHTML = studentArr;
}

Масив в JS являється об'єктом

Зважаючи на цю особливість у масиві замість індексу можна використати імена для доступу до елементу:

function DemoArrOfNames(){
	var studentArr = {firstName:"Іван", group:12, faculty:'Економічний'};
	alert('Студент ' + studentArr["firstName"] + " навчається на " + studentArr["faculty"] + " у " + studentArr["group"] + " групі");
}

Також в масив можна вкладати інші об'єкти та масиви.


Проходження по значеннях масиву

Кращий спосіб перебрати масив це цикл:

function DemoAddArr(){
	var studentArr = ['Петро', 'Микола', 'Іван'];
	for(var i = 0; i < studentArr.length; i++){ //властивість length повертає к-ть елементів у масиві
		alert(studentArr[i]);
	}
}

Додавання елементів масиву

Якщо необхідно додати значення у вже створений масив, можна скористатись методом push, він додасть значення у кінець масиву.

var studentArr = ['Петро', 'Микола', 'Іван'];
	studentArr.push = 'Тарас';
	$('#DemoPushArr')[0].innerHTML = studentArr;

або самому присвоїти новий індекс масиву та присвоїти значення:

var studentArr = ['Петро', 'Микола', 'Іван'];
	studentArr[studentArr.length] = 'Тарас'; //визначаємо довжину масиву імен в першому елементі масиву studentArr
	$('#DemoPushArr1')[0].innerHTML = studentArr;

Примітка: при додаванні елементів із самостійним встановленням індесу потрібно бути досить уважним, так при пропущенні певного індексу будуть утворювати пусті значення масиву:

var studentArr = ['Петро', 'Микола', 'Іван'];
	studentArr[6] = 'Тарас';
	$('#DemoPushArr2')[0].innerHTML = studentArr;


Видалення елементів масиву

Очищення всього масиву

Найпростіший спосіб це просто присвоїти масиву новий пустий масив:

array = [];

delete

delete array[i];

але delete видалить лише саме значення по заданому індексу, зробивши його пустим.

function DemoDeleteArr(){
	var studentArr = ['Петро','Микола','Іван'];
	delete studentArr[1];
	$("#DemoDeleteArr")[0].innerHTML = studentArr;
}

splice - видалення

Дозволяє видалити елемент масиву разом із його індексом, зі зміщенням усіх наступних елементів

function DemoRemoveArr(){
	var studentArr = ['Петро','Микола','Іван'];
	studentArr.splice(1, 1);
	$("#DemoRemoveArr")[0].innerHTML = studentArr;
}

splice приймає два аргументи:

перший - індекс елемента масиву з якого потрібно почати видалення

другий - к-ть елементів яку потрібно видалити, від заданого індексу і далі.

splice - видалення з заміною

Окрім розглянутих двох аргументів метод splice може приймати ще значення які треба вставити:

function DemoRemoveAndAddArr(){
	var studentArr = ['Петро','Микола','Іван'];
	studentArr.splice(1, 1, 'Юра', 'Олег');
	$("#DemoRemoveAndAddArr")[0].innerHTML = studentArr;
}

Допускається використання від'ємного індексу масиву, яка в даному випадку почне рахуватись з кінця:

var studentArr = ['Петро','Микола','Іван']
studentArr.splice(-1, 0, 'Юра', 'Олег');
alert(studentArr); // результат: 'Петро','Микола','Юра','Олег','Іван'

Створення двомірного масиву

Двомірний масив це ніщо інше як масив, в елемент якого вкладено ще один масив.

Створимо двомірний масив який буде містити назву студента та його середній бал, та виведемо їх послідовно на екран:

function DemoTwoDArr(){
	var studentArr = [
		['Петро','Микола','Іван'],
		[4.4,4.9,3.9]
	];
	for(var i = 0; i < studentArr[0].length; i++){ //визначаємо довжину масиву імен в першому елементі масиву studentArr
		alert('Студент ' + studentArr[0][i] + ' має середній бал: ' + studentArr[1][i]);
	}
}


view1438like0dislike0 avatard_l4w clock 2017-03-07 02:57

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com