用javascript删除内爆变量的值

时间:2011-02-22 06:41:45

标签: javascript arrays string

我有这个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 个答案:

答案 0 :(得分:5)

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

稍后编辑:在IE中支持array.filter:


//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;
  };
}

答案 1 :(得分:2)

我的建议:

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()

  

过滤器():
  创建包含所有元素的新数组   通过了实施的测试   提供了功能。