ITPub博客

首页 > 应用开发 > > JavaScript 数组去重 封装方法改善问题。

JavaScript 数组去重 封装方法改善问题。

作者:germo 时间:2019-08-21 13:27:30 0 删除 编辑
var dataList = $.extend(true, {}, data);;
                dataList.rows = [];
                for (var i = 0; i < data.rows.length; i++) {
                    if (!dataList.rows.contains(data.rows[i].taskid)) dataList.rows.push(data.rows[i]);
                }
                objData.dtTask.bootstrapTable('load', dataList);

data是数据源 。dataList是调用jq的 深复制对象方法。如果dataList里面的row存在一样的taskid

就不push。

contains方法:

Array.prototype.contains = function(obj) {
    for (var i = 0; i < this.length; i++) {
        if (obj == this[i].taskid) { //改善的问题在这里
            return true;
        }
    }
    return false;
}

问题来了。this[i].taskid是写死了 有的时候经常用到数组 不能老是复制一份代码。

请问this[i].taskid如果实现动态呢。最好的办法是在function里面传"taskid"进来 作为变量

但是 this[i].变量 这个时候又是未定义。?如何解决这个问题呢 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/1868/viewspace-3137379/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 怎么学习JS
请登录后发表评论 登录
全部评论

注册时间:2019-07-17

  • 博文量
    209
  • 访问量
    8232