javascript数组去重
数组去重处理函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | function uniqueArray(a) { var temp = new Array(); for ( var i = 0; i < a.length; i++) { if (!contains(temp, a[i])) { temp.length += 1; temp[temp.length - 1] = a[i]; } } return temp; } function contains(a, e) { for (j = 0; j < a.length; j++) if (a[j] == e) return true ; return false ; } |
使用例子:
/** * @create: nelson * @Eliminate duplicate items from qListview * @eliminateDuplicate * @调用方式 $("#container").eliminateDuplicateVal(qListview); */ $.fn.extend({ eliminateDuplicateVal: function (qListview) { var This = $(this); var That = This.find(qListview); var _resultPanel = This.find("> .itemp_check_no strong"); var _loading = This.find("> .loading"); function init() { var html = ""; var strFilterArr = new Array(); var _select = This.find("> .item_check_field"); That.find(">thead .rgHeader").each(function () {//拼select的option html字符串 var str = $(this).text().trim(); html += '<option>' + str + '</option>'; strFilterArr.push(str); }); if (html != "") { html = '<option></option>' + html; _select.html(html); if (That.find(">tbody .rgNoRecords").length != 1) { _resultPanel.html(That.find(">tbody>tr").length);//初始化记录数 This.find("> .item_check_btn").click(function () { _loading.css("display", "inline-block");//显示loading gif动画图片 setTimeout(function () { var strFilter = _select.children("option:selected").text(); if (strFilter != "") { var key = strFilterArr.indexOf(strFilter); var strResultArr = new Array(); That.find(">tbody>tr").each(function () { $(this).css("display", "none");//全部行隐藏 strResultArr.push($(this).find("td:eq(" + key + ")").text().trim());//建结果数组 }); strResultArr = uniqueArray(strResultArr);//去重 $.each(strResultArr, function (k, strValue) { That.find(">tbody>tr").each(function () { //显示过滤后的内容行 var self = $(this); if (self.find("td:eq(" + key + ")").text().trim() == strValue) { self.css("display", "table-row"); return false; } }); }); _resultPanel.html(strResultArr.length); } //setTimeout(function () { _loading.css("display", "none"); }, 1000); return false; }); } else { This.find("> .item_check_btn").click(function () { alert("请先在下方进行搜索再执行本操作!"); return false; }); } } } function uniqueArray(a) { var temp = new Array(); for (var i = 0; i < a.length; i++) { if (!contains(temp, a[i])) { temp.length += 1; temp[temp.length - 1] = a[i]; } } return temp; } function contains(a, e) { for (j = 0; j < a.length; j++) if (a[j] == e) return true; return false; } init(); } });
标签:
Jquery
, javascript
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?