【问题标题】:removing value of imploded vars with javascript使用 javascript 删除内爆变量的值
【发布时间】:2011-02-22 06:41:45
【问题描述】:

我有这个 javascript 变量:

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' ...等,它也应该有效。

【问题讨论】:

    标签: javascript arrays string


    【解决方案1】:

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

    【讨论】:

    • 忘了说 IE
    【解决方案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()

    过滤器():
    创建一个包含所有元素的新数组 通过了由 提供的功能。

    【讨论】:

    • 嗨,安迪,感谢您的帮助! matei 的解决方案有点短。
    猜你喜欢
    • 2021-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    相关资源
    最近更新 更多