underscore.js的some

在使用underscore.js的some函数给list去重时,发现并没有将重复项去除,于是便在迭代函数里打印了下,比较的两项类型均为Object,怪不得返回始终为false,将比较的两个变量转为String后,去重成功。

function repeatNo(jsonSJ) {
    //判断数据的长度
    if (jsonSJ.length > 0) {
        let newList = []
        for (var i = 0; i < jsonSJ.length; i++) {
            if (i == 0) {
                newList.push(jsonSJ[i])
            } else {
                let find = underscore.some(newList, function (itme) {
                    return String(itme.id) == String(jsonSJ[i].id)//这里需将比较的两项转为String后比较
                })
                if (!find) {
                    newList.push(jsonSJ[i])
                }
            }
        }
        return newList;
    } else {
        return []
    }
};

  

 

posted @ 2020-09-07 16:00  ak~biu  阅读(241)  评论(0)    收藏  举报