Методи масивів JavaScript. Демонстрація видалення конкретного елемента за допомогою методу splice

Здрастуйте, любителі JavaScript-а. Ви вже помітили, що ця мова дуже неординарна і в кожному розділі виділяється своїми особливостями та незвичайними технічними рішеннями. Тому сьогоднішня публікація присвячується темі: JavaScript округлення.

Після прочитання поточної статті ви дізнаєтеся, для чого необхідно заокруглювати числа, які методи та властивості в js виконують цю функцію, а також чим виділяється поділ на 0. Не змінюючи своїх принципів, я прикріплю приклади до ключових моментів матеріалу і докладно розпишу кожну дію. А тепер давайте починати навчання!

Важливі нотатки про числа

Для початку запам'ятайте, що в js всі види чисел (дрібні та цілі) відносяться до типу Номер. До того ж усі вони 64-бітні, оскільки зберігаються у форматі «double precision», який також відомий під стандартом IEEE-754.

Створюються чисельні змінні звичним способом:

var numb = 35; // натуральне число

var drob = 0.93; // десяткове уявлення

var numb16 = 0xFF; //16-річна система числення

Підтримує й інші числові уявлення. Так ще можна створювати числа з плаваючою точкою (їх ще іноді називають «числа в науковому форматі»).

З'явилася підтримка дуже цікавого методу toLocaleString(), який форматує всі числові параметри за специфікаціями, прописаними в ECMA 402. Завдяки цьому великі числа, телефонні номери, валюти та навіть відсотки гарно виводяться у діалоговому вікні.

var num = 714000.80;

alert (num.toLocaleString());

p align="justify"> Для роботи з елементами типу Number був передбачений цілий глобальний об'єкт з купою всіляких математичних функцій, ім'я якого Math.

Крім цього, існують інші методи, які виконують округлення числових значень до цілих чисел, до десятих, сотих і т.д. Розглянемо їх докладніше.

Великий і могутній Math

Глобальний об'єкт Math включає величезну кількість різноманітних математичних і тригонометричних функцій. Це дуже потрібний об'єкт і часто рятує розробників під час роботи з цифровими даними.

На інших платформах є аналогії Math. Наприклад, у таких популярних мовах, як Java і C#, Math є класом, який підтримує ті самі стандартні функції. Так що як бачите цей інструмент справді великий та могутній.

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

Math.floor()

Почну з Math.floor. Зверніть увагу на назву методу. Логічно стає зрозуміло, що якщо йдеться про округлення, а дослівний переклад слова «floor» означає «підлогу», то цей інструмент округлить оброблювані значення меншу строну.

Також можливий варіант, коли оброблене число за допомогою цієї функції залишилося незмінним. Все тому, що округлення здійснюється за нестрогою нерівністю (<=). Таким образом, при отработке этой строчки кода:

alert (Math.floor (4.5));

у відповіді буде число 4.

Math.ceil ()

Знову-таки подивіться назву (у такий спосіб матеріал швидше засвоюється). Якщо хтось не знає, то ceil означає стелю. Значить округлення числових даних здійснюватиметься у велику сторону, використовуючи не сувору нерівність (>=).

alert (Math.ceil (4.5));

Як ви вже здогадалися, у відповіді буде 5.

Math.round()

Даний метод округляє дрібне число до найближчого цілого. Так, якщо дробова частина знаходиться в діапазоні від 0 до 0.5 не включно, то округлення відбувається до меншого значення. А якщо дробова частина знаходиться в діапазоні від включно 0.5 до наступного цілого числа, то вона округляється до більшого цілого.

alert (Math.round (4.5));

Сподіваюся, усі подумали чи сказали правильну відповідь – 5.

Ще кілька методів

У JavaScript також є й інші 2 методи, які займаються округленням числових уявлень. Однак вони дещо відрізняються.

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

toFixed ()

За допомогою даного механізму можна вказувати, до скільки знаків після коми потрібно округлити значення. Метод повертає результат у вигляді рядка. Нижче я прикріпив варіант із трьома різними варіантами. Проаналізуйте отримані відповіді.

var num = 5656.9393;

document.writeln (num.toFixed()); // 5657

document.writeln (num.toFixed (2)); // 5656.94

document.writeln (num.toFixed (7)); // 5656.9393000

Як видно, якщо не вказати аргументу, то toFixed ()) округлить дробове значення до цілогочисла. У третьому рядку виконано округлення до 2-х знаків,а у четвертій – через параметр «7» було дописано ще три 0.

toPrecision ()

Цей метод діє дещо інакше. На місці аргументу можна залишити як місце, так і встановити параметр. Однак останній округлятиме числа до зазначеної кількості цифр, не звертаючи уваги на кому. Ось які результати видала програма, переписана з минулого прикладу:

var num = 5656.9393;

document.writeln (num.toPrecision()); // 5656.9393

document.writeln (num.toPrecision (2)); // 5.7e+3

document.writeln (num.toPrecision (7)); // 5656.939

Особливість поділу на 0 в js

Як відомо з уроків з математики, ділити на нуль не можна. Це правило взяли за основу більшість авторів мов програмування. Тому при розподілі на нуль усі програми видають помилку.

Однак JavaScript відзначився і тут. Так, під час виконання такої операції жодних повідомлень про баг не виникає ... тому що така операція повертає "Infinity"!

Чому так? Як відомо з тих самих математичних наук, що менше дільник, то в результаті виходить більша кількість. Саме тому творці цієї прототипно-орієнтованої мови вирішили відмовитися від шаблонів та піти своїм шляхом.

Для тих, хто вперше стикається зі значенням Infinity, нижче я пояснив його особливості.

Infinity означає нескінченність і повністю відповідає математичному знаку ∞.

Можливо негативною. Також зберігаються усі стандартні правила роботи з арифметичними операторами.

alert (12/0); // Infinity

alert (12.34/0); // Infinity

alert (-3/0); //-Infinity

На цьому, мабуть, і закінчу. Якщо вам сподобалася публікація, обов'язково підписуйтесь на мій блог. Не скупіться посиланням на цікаві статті та ділитесь ними з друзями. Бувай!

Всю користь вбудованих методів JavaScript можна оцінити лише правильно розуміючи, як вони працюють. У цій статті ми розберемо три методи: slice (), splice ()і split(). Навіть досвідчені розробники часто їх плутають: можливо через те, що всі три назви такі схожі.

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

Наприкінці ви знайдете конспект інформації про всі три методи. Давайте почнемо.

Масиви у JavaScript

Спочатку потрібно розібратися, як працюють масиви JavaScript. Як і в інших мовах програмування, масиви використовуються для зберігання кількох одиниць даних. Різниця в тому, що масиви JavaScript можуть містити кілька типів даних одночасно.

Щоб працювати з такими масивами, нам знадобляться JavaScript-методи: наприклад, slice () & splice (). Створити масив можна так:

Let arrayDefinition = ; // Array declaration in JS

Тепер створимо інший масив із даними різного типу:

Let array =;

У JavaScript можна створювати масиви з різними типами даних: з числами, рядками та логічними значеннями.

Slice ()

Метод slice ()копіює задану частину масиву та повертає цю скопійовану частину у вигляді нового масиву. Початковий масив при цьому не змінюється.

Array.slice(from, until);

  • Від:Нарізує масив починаючи зцього елемента
  • Until:Нарізує масив до цього елемента

Наприклад, я хочу нарізати перші три елементи зі згаданого вище масиву. Перший елемент масиву завжди позначається як 0, тому як параметр fromя вказую 0.

Array --> 1 // included array --> 2 // included array --> 3 // included array --> "hello world" // not included

Тут можна заплутатися! Ось чому я оголосив "until".

Let newArray = array.slice(0, 3); // Return value is also an array

Нарешті я створюю новий масив і пов'язую його зі змінною newArray. Подивимося результат:

Нарізка масиву та додавання елементів до нового масиву


Змінна newArray стає новим масивом, оригінальний масив залишається без змін.

Важлива примітка: метод Slice()можна використовувати і в рядках.

Splice ()

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

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

Щоб видалити елементи, введіть елемент, з якого потрібно розпочати ( index)та кількість елементів, які потрібно видалити (Number of elements):

Array.splice(index, number of elements);

Параметр Index-Це початкова точкавидалення елементів. Елементи із порядковим номером меншезаданого параметра Index не буде видалено:

Array.splice(2); // Every element starting from index 2, will be removed

Якщо не вказати другий параметр, всі елементи від заданого параметра Index і до кінця видаляються:

Як ще один приклад, я вказав 1 як другий параметр: таким чином, кожен раз при повторі методу splice ()буде видаляти по одному елементу, починаючи з другого:

Array.splice(2, 1);

Масив до методу splice ()

Splice () застосований один раз:

Елемент 3 видалено: отже, тепер елемент "hello world" має порядковий номер 2

Splice () застосований двічі:

На цей раз був видалений елемент “hello world”, тому що його порядковий номер 2

Так можна продовжувати доти, доки не залишиться елементів із порядковим номером 2.

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

Щоб додати елементи за допомогою splice (), необхідно ввести їх як третій, четвертий і п'ятий елемент (залежно від того, скільки елементів потрібно додати):

Array.splice(index, number of elements, element, element);

Як приклад, додамо елементи aі bна початок масиву:

Array.splice(0, 0, "a", "b");


Елементи a та b додані на початок масиву

Split ()

Методи Slice()і splice()використовуються для масивів. Метод split()використовується для рядків. Він поділяє рядок на підрядки та повертає їх у вигляді масиву. У цього методу 2 параметри, і обидва з них не обов'язково вказувати.

String.split(separator, limit);

  • Separator:визначає, як рядок буде поділено на підрядки: комою, знаком і т.д.
  • Limit:обмежує кількість підрядок заданим числом

Метод split()не працює безпосередньо з масивами. Тим не менш, спочатку можна перетворити елементи масиву в рядки і вже після застосування методу split().

Погляньмо, як це працює.

Спочатку перетворимо масив у рядок за допомогою методу toString():

Let myString = array.toString();

Потім розділимо рядок myString комамиі обмежимо кількість підрядків до трьох.Потім перетворимо рядки на масив:

Let newArray = myString.split(",", 3);

У вигляді масиву повернулися перші 3 елементи

Таким чином, елементи масиву myStringрозділені комами. Ми поставили обмеження в 3 підрядки, тому як масив повернулися перші 3 елементи.

Примітка:Використовуючи команду array.split("");можна всі символи в рядку розділити на підрядки.


Усі символи поділені на підрядки

Конспект:

Slice ()

  • Копіює елементи з масиву
  • Повертає їх у новий масив
  • Не змінює оригінальний масив
  • Нарізує масив за допомогою параметрів from та until: array.slice (from, until)
  • Не включає параметр, заданий у "until"
  • Використовується і в масивах, і рядках

Splice ()

  • Додає та видаляє елементи з масиву
  • Повертає масив віддалених елементів
  • Змінює масив
  • Додавання елементів: array.splice (index, number of elements, element)
  • Видалення елементів: array.splice (index, number of elements)
  • Використовується лише у масивах

Split ()

  • Поділяє рядки на підрядки
  • Повертає їх у вигляді масиву
  • 2 параметри, і обидва з них не обов'язково вказувати: string.split(separator, limit)
  • Не змінює оригінальний рядок
  • Використовується лише у рядках

У JavaScript є ще багато інших вбудованих методів роботи з масивами та рядками. Якщо ви навчитеся використовувати їх, програмувати стане набагато простіше.