Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/68: Рейтинг темы: голосов - 68, средняя оценка - 4.56
0 / 0 / 1
Регистрация: 24.05.2013
Сообщений: 51
1

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

09.06.2013, 14:11. Показов 13496. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
У меня есть массив который получается из запроса и получается что там есть пустые элементы. Нам надо от них избавиться.

Javascript
1
var GETArr = new Array(); - массив через гет
Javascript
1
2
3
4
function parseGetParams() { //получение через гет запрос
   var get = window.location.search.substring(6).split(',');
   return get;
}
Javascript
1
var GETArr = parseGetParams();
получается такой массив
,,,,,,,,,,,,,13,,,,,,,7,,,10,11,,,,,,,18,19,,,3,,,,,8,,,,12,,14,15,16,17,,2,,4,, 6,,,9,1,2,5,1,2,5,1,2,5,1,2,5
здесь я хочу удалить все элементы пустые элементы массива

Javascript
1
2
3
4
5
6
7
var result = [];
 
for (var i = 0; i < GETArr .length; i++) {
    if ( i in GETArr ) {
        result.push(GETArr [i]);
    }
}
но ничего не происходит можете подсказать в чем проблема.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.06.2013, 14:11
Ответы с готовыми решениями:

Удаление пустых bb кодов
Написал регулярное выражение если например пустой bb код и в нем может быть перенос строки и много...

Удаление пустых элементов из LIST<T>
У меня имеется лист хранящий список объектов, удаляясь они удаляются из листа и на их месте...

Удаление пустых строк
У меня есть файл со содержимым - d:-!-:dw r:-!-:Distemi:-!-: r:-!-:Distemi:-!-:...

Удаление пустых папок
Здравствуйте! Нигде не нашел как рекурсивно удалить все пустые папки в по указанному пути. Т.е....

5
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
09.06.2013, 20:23 2
Javascript
1
2
3
var a = [];
a[1] = undefined;
alert(1 in a); // true
Undefined — значение, которое возвращается всегда при попытке достучаться до несуществующего свойства, например, {}[1] вернет undefined.
То, что значение будет undefined, ещё не означает, что соответствующего свойства нет, потому что undefined может использоваться как самостоятельное значение.

Удаляйте неопределённые элементы по-другому.
0
650 / 235 / 77
Регистрация: 18.02.2013
Сообщений: 784
10.06.2013, 22:31 3
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var someArr = [,,3,5,2,,2,,,2,2,,21,89,,,3434,2,11,,11,1,,2,,,1];
// с использованием дополнительного, "результирующего" массива 
/* for (var i = someArr.length, resultArr = []; i > 0; i--) {
    if (someArr[i] != null) {
    resultArr.unshift(someArr[i]);
     }
 } */
// "собственными" силами
for (var i = someArr.length; i > 0; i--) {
    if (someArr[i] == null) {
    someArr.splice(i,1);
    }
}
someArr.splice(0,1);
alert(someArr);
// alert(resultArr);
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
11.06.2013, 01:09 4
Решил сравнить скорости. Включен также вариант Работа с массивом.
http://jsperf.com/removing-from-array-2/2
Что характерно, удаление с модификацией исходного массива работает в 3-10 раза быстрее. Среди двух вариантов с привлечением второго массива несколько быстрее присваивание, чем unshift.
1
650 / 235 / 77
Регистрация: 18.02.2013
Сообщений: 784
11.06.2013, 22:58 5
Простите, написал лишнего, можно так:
Javascript
1
2
3
for (var i = someArr.length; i >= 0; i--) {
    if (!someArr[i]) someArr.splice(i, 1);
}
0
23 / 17 / 1
Регистрация: 21.02.2013
Сообщений: 40
13.06.2013, 02:29 6
Может глупость напишу но можно и так:
Javascript
1
2
var someArr = [,,3,5,2,,2,,,2,2,,21,89,,,3434,2,11,,11,1,,2,,,1];
someArr = someArr.filter(function(e){return e});
в итоге массив без undefined получается
2
13.06.2013, 02:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 02:29
Помогаю со студенческими работами здесь

Удаление пустых строчек
$sh = &quot;#(|&lt;/p&gt;\K\R|\K\R&lt;p&gt;)+#si&quot;; $zm = &quot;\r\n&quot;; Хорошо, вроде все есть, строчки удаляются но. ...

Удаление пустых тегов
Здравствуйте! Подскажите, как можно найти теги в строке и удалить их, которые не содержат ни...

Удаление пустых позиций
Здравствуйте уважаемые коллеги программисты! Есть простенькая задачка, но для меня она является...

Удаление пустых файлов
Доброго времени суток . Очень не стандартная ситуация Цель программы - удалить с папки файлы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru