Перейти к содержимому

Как убрать undefined из массива javascript

  • автор:

Курсы javascript

Здравствуйте. Долго искал по форуму, но так и не нашел ответ на вопрос.

Допустим, у есть несколько переменных, и «в одну из них надо запихать остальные»:

var hh1 = '555' var hh2 = 'yyy' var hh3 = 'kkk' var hh = hh1+hh2+hh3

Всё было бы нормально, но если одной из переменных не присвоено значение, то в переменную hh запишется как то так: undefinedyyykkk
Можно ли как-то убрать undefined, чтобы вместо него ничего не передавалось в целевую переменную?

24.03.2011, 12:56
Регистрация: 07.01.2011
Сообщений: 582

var hh = hh1 && hh1 + hh2 && hh2 + hh3 && hh3;

.
Если у Вас эти переменные могут быть вообще не объявлены, то возникнет ReferenceError и выполнение скрипта прервётся. В таком случае берите не переменную, а свойство из window:

window.hh1 && hh1 // и т. д.

Array.prototype.shift()

Метод shift() удаляет первый элемент из массива и возвращает его значение. Этот метод изменяет длину массива.

Синтаксис

arr.shift()

Описание

Метод shift удаляет элемент по нулевому индексу, сдвигает значения по последовательным индексам вниз, а затем возвращает удалённое значение. Если свойство length массива равно 0, вернётся значение undefined .

Метод shift не является привязанным к типу; этот метод может быть вызван или применён к объектам, напоминающим массив. Объекты, не содержащие свойство length , отражающее последний элемент в серии последовательных числовых, начинающихся с нуля, свойств, могут повести себя неправильным образом.

Примеры

Пример: удаление элемента из массива

Следующий код показывает массив myFish до и после удаления его первого элемента. Также он показывает удалённый элемент:

var myFish = ["ангел", "клоун", "мандарин", "хирург"]; console.log("myFish до: " + myFish); //myFish до: ангел,клоун,мандарин,хирург var shifted = myFish.shift(); console.log("myFish после: " + myFish); //myFish после: клоун,мандарин,хирург console.log("Удалён этот элемент: " + shifted); //Удалён этот элемент: ангел 

Вывод этого примера будет следующим:

: ангел,клоун,мандарин,хирург myFish после: клоун,мандарин,хирург Удалён этот элемент: ангел 

Спецификации

Specification
ECMAScript Language Specification
# sec-array.prototype.shift

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Array.prototype.push()
  • Array.prototype.pop()
  • Array.prototype.unshift()

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 4 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

MDN

Support

  • Product help
  • Report an issue

Our communities

Developers

  • Web Technologies
  • Learn Web Development
  • MDN Plus
  • Hacks Blog
  • Website Privacy Notice
  • Cookies
  • Legal
  • Community Participation Guidelines

Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998– 2024 by individual mozilla.org contributors. Content available under a Creative Commons license.

Array.prototype.pop()

Метод pop() удаляет последний элемент из массива и возвращает его значение.

Синтаксис

arr.pop()

Возвращаемое значение

Последний элемент массива или undefined , если массив пуст.

Описание

Метод pop удаляет последний элемент из массива и возвращает удалённое значение.

Метод pop не является привязанным к типу; этот метод может быть вызван или применён к массивоподобным объектам. Объекты, не содержащие свойство length , отражающее последний элемент в серии последовательных числовых, начинающихся с нуля, свойств, могут повести себя неправильным образом.

Если вы вызовете pop() на пустом массиве, он вернёт значение undefined .

Примеры

Удаление последнего элемента массива

Следующий код создаёт массив myFish , содержащий четыре элемента, а затем удаляет последний элемент.

var myFish = ["ангел", "клоун", "мандарин", "хирург"]; console.log(myFish); // ['ангел', 'клоун', 'мандарин', 'хирург'] var popped = myFish.pop(); console.log(myFish); // ['ангел', 'клоун', 'мандарин'] console.log(popped); // 'хирург' 

Спецификации

Specification
ECMAScript Language Specification
# sec-array.prototype.pop

Совместимость с браузерами

BCD tables only load in the browser

Смотрите также

  • Array.prototype.push()
  • Array.prototype.shift()
  • Array.prototype.unshift()
  • Array.prototype.splice()

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 4 авг. 2023 г. by MDN contributors.

Your blueprint for a better internet.

Удаление пустых элементов из массива в Javascript

Fruits representing elements in an array with empty spaces.

Есть ситуации, когда в массиве JavaScript могут присутствовать пустые элементы. Например, после выполнения определенных операций, таких как разделение строки на массив с помощью метода split() , в результате которого могут появиться пустые строки.

let arr = ['Apple', '', 'Banana', '', 'Cherry'];

В этом случае, возникает необходимость удаления этих пустых элементов из массива.

Удаление пустых элементов с помощью метода filter()

Одним из наиболее простых и эффективных способов удаления пустых элементов из массива в JavaScript является использование метода filter() .

Метод filter() создает новый массив со всеми элементами, прошедшими проверку, задаваемую в передаваемой функции.

let arr = ['Apple', '', 'Banana', '', 'Cherry']; let filteredArr = arr.filter(function(el) < return el != ''; >); console.log(filteredArr); // ['Apple', 'Banana', 'Cherry']

В данном случае, функция, переданная в filter() , проверяет каждый элемент массива. Если элемент не является пустой строкой ( » ), он проходит проверку и добавляется в новый массив.

Удаление пустых элементов с помощью метода filter() и Boolean

Еще один вариант использования метода filter() — с использованием встроенного объекта Boolean в качестве функции обратного вызова. Это даст тот же результат, так как пустая строка в JavaScript является «ложным» значением ( false ).

let arr = ['Apple', '', 'Banana', '', 'Cherry']; let filteredArr = arr.filter(Boolean); console.log(filteredArr); // ['Apple', 'Banana', 'Cherry']

В этом случае, Boolean автоматически преобразует каждый элемент массива в булево значение. Пустая строка преобразуется в false и не проходит проверку, поэтому не включается в новый массив.

Таким образом, для удаления пустых элементов из массива в языке программирования JavaScript можно использовать метод filter() , который позволяет создать новый массив без пустых элементов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *