Робота з даними масивів, javascript

Робота з даними масивів

Метод concat () повертає масив, що виходить в результаті приєднання аргументів методу до масиву, для якого був викликаний вказаний метод. Так, при виклику сценарію

var myArray = [ "червоний", "зелений", "синій"];
alert (myArray.concat ( "блакитний", "жовтий"));

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

Але будьте уважні: concat () не змінює масив "на місці". Зверніть увагу на результат роботи сценарію

var myArray = [ "червоний", "зелений", "синій"];
myArray.concat ( "блакитний", "жовтий");
alert (myArray);

в результаті буде отриманий наступний масив:
червоний, зелений, синій
На відміну від обговорювалися раніше методів push () і shift (). тут необхідно зберегти значення, що повертається. наприклад:

var myArray = [ "червоний", "зелений", "синій"];
myArray = myArray.concat ( "блакитний", "жовтий");

Якщо аргумент concat () сам є масивом, він "вирівнюється" в елементах масиву. Це вирівнювання НЕ рекурсивно, тому для аргументу-масиву, що містить елемент-масив, буде вирівняний тільки зовнішній масив. Наступний приклад ілюструє цей факт:

var myArray = [ "червоний", "зелений", "синій"];
myArray.concat ( "рожевий", [ "фіолетовий", "чорний"]);
// Повертає [ "червоний", "зелений", "синій", "рожевий",
"Фіолетовий", "чорний"]
myArray.concat ( "білий", [ "сірий", [ "помаранчевий", "малиновий"]]);
// Повертає [ "червоний", "зелений", "синій", "білий",
"Сірий", [ "помаранчевий", "малиновий"]]
var myArr = myArray.concat ( "білий", [ "сірий", [ "помаранчевий", "малиновий"]]);
alert (myArr [myArr.length-1]);
// Показує помаранчевий, малиновий

var myArray = [ "червоний", "зелений", "синій"];
var strlngVersion = myArray.join ( "/");
alert (stringVersion);

в результаті буде отриманий наступний масив:
червоний / зелений / синій

Тут слід зазначити один важливий момент: метод jоin () не має такого побічного ефекту, як руйнування масиву. Це, очевидно, сталося б при зміні типу об'єкта, наприклад, в наступному випадку

var myArray = [ "червоний", "зелений", "синій"];
myArray = myArray.join ( "/");

Метод join () є протилежністю методу split () об'єкта String.

var myArray = [ "червоний", "зелений", "синій"];
myArray.reverse ();
alert (myArray);

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

var myArray = [1, 2, 3, 4, 5];
myArray.slice (2); // повертає [3, 4, 5]
myArray.slice (1, 3); // повертає [2, 3]
myArray.slice (-3); // повертає [3, 4, 5]
myArray.slice (-3, -1); // повертає [3, 4]
myArray.slice (-4, 3); // повертає [2, 3]
myArray.slice (3, 1); // повертає []

splice (cmapm, число, значення);

Перший аргумент старт є індексом, по відношенню до якого виконується дія. Другий аргумент число вказує число елементів, що видаляються починаючи з індексу старт. Всі інші аргументи, представлені тут як значення (вони розділяються комами, якщо їх більше одного), вставляються замість видаляються елементів.

var myArray «[1, 2, 3, 4, 5];
myArray.splice (3,2, "a", "b");
// повертає 4,5 [1,2,3, "a", "b"]
myArray.splice (1,1, "це", "вставимо", "тут");
// повертає 2 [1, "це", "вставимо", "тут", 3, "a", "b"]

var myArray = [14,52,3,14,45,36];
myArray.sort ();
alert (myArray);

в результаті буде отриманий наступний масив:
14,14,3,36,45,52

Причина в тому, що 14 менше 3 з точки зору порядку рядків. На щастя, ука¬занная функція сортування є виключно гнучкою, тому все можна виправити. Щоб впорядкувати елементи в іншому порядку, можна передати методу sort () іншу функцію порівняння, яка і визначить потрібний порядок. Ця функція повинна мати два аргументи і повертати від'ємне значення, якщо з точки зору необхідного порядку перший аргумент повинен знаходитися перед другим. (Вважайте, що перший виявляється "менше" другого.) Якщо з точки зору необхідного порядку два елементи повинні бути рівні, функція повинна повертати нульове значення. Якщо перший аргумент повинен слідувати після другого, функція повинна повертати позитивне значення. (Вважайте, що перший виявляється "більше" другого.) Наприклад, для виконання сортування чисел можна використовувати функцію, подібну до наступного:

function myCompare (x, у)
if (х Додому Пошук

10 випадкових розділів

Схожі статті