удаление значения взорванных варов с помощью JavaScript - PullRequest
2 голосов
/ 22 февраля 2011

У меня есть этот Javascript Var:

var mylist = '1,5,3,7,9,8,44,6';

Мне нужно удалить 9, чтобы окончательное значение было: 1,5,3,7,8,44,6

Обычно я делаю это на стороне сервера с помощью php (простой способ). Как можно добиться этого с помощью JavaScript? Решение с использованием jQuery было бы еще лучше.

соображения : он также должен работать, если var равен '99, 9,96 'или' 9 'или '99, 9' или '9,98' ... и т. Д.

Ответы [ 2 ]

5 голосов
/ 22 февраля 2011

my_list = my_list.split(',').filter(function(e) { return e != 9}).join(',');

Позднее редактирование: для поддержки array.filter в IE:


//This prototype is provided by the Mozilla foundation and
//is distributed under the MIT license.
//http://www.ibiblio.org/pub/Linux/LICENSES/mit.license

if (!Array.prototype.filter)
{
  Array.prototype.filter = function(fun)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var res = new Array();
    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
      {
        var val = this[i]; // in case fun mutates this
        if (fun.call(thisp, val, i, this))
          res.push(val);
      }
    }

    return res;
  };
}

2 голосов
/ 22 февраля 2011

Мое предложение:

var mylist = '1,5,3,7,9,8,44,6';

mylist = mylist.split(',').filter(function(elem, i) {
    return elem !== '9';
}).join(',');

console.log(mylist);  // = 1,5,3,7,8,44,6

Ссылка: .filter()

фильтр ():
Создает новый массив со всеми элементами которые проходят тест, реализованный предоставленная функция.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...