去除数组中文件名类似的数据

Posted 爱喝酸奶的吃货

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了去除数组中文件名类似的数据相关的知识,希望对你有一定的参考价值。

需求:

      1. 获取vta端上传的所有文件,一般都是图片和txt文件、pdf文件。

       2.获取的文件中teller给vtm端推送pdf,vtm端客户没确认之前pdf文件名不变,客户确认后文件名变为_signature.pdf,当客户确认了pdf后,确认后的  _signature.pdf   的  pdf  将原来没有确认的 pdf 覆盖掉。

代码:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title></title>
    <script src="jquery.js" charset="utf-8"></script>
    <script type="text/javascript">
        $(function() {
            $("#btncc").click(function() {
                var data = [
                    "610121_IDcheck.jpg",
                    "Customer Declaration for VTM A.pdf",
                    "Customer Declaration for VTM A_signature.pdf",
                    "ebanking.pdf",
                    "ebanking_signature.pdf",
                    "ebankingggg.pdf",
                    "HFE.pdf",
                    "HFESupplementInffffffffffffffffffffffffffdddddddddddddddddddddddddddddddddddddddddddddddddddddfffffffffffffffffffffformation.pdf",
                    "HFESupplementInfffffffffffffffffffffffffffffffffffffffffffffffformation.pdf",
                    "HFESupplementInformation.pdf",
                    "HFESupplementInformation_signature.pdf",
                    "HFE_signature.pdf",
                    "ebankingggg_signature.pdf"
                ]
                var html = [],
                    arr1 = [],
                    arr2 = [],
                    arr3 = [],
                    arr4 = [],
                    arr5 = [],
                    linkArray = [];
                arr1 = data.filter(function(item) {
                    return item.lastIndexOf(\'.pdf\') == -1;
                });
                arr2 = data.filter(function(item) {
                    return item.lastIndexOf(\'.pdf\') != -1 && item.lastIndexOf(\'_signature.pdf\') == -1;
                });
                arr3 = data.filter(function(item) {
                    return item.lastIndexOf(\'_signature.pdf\') != -1;
                });

                arr3.map(function(valSignature) {
                    arr2.map(function(valPdf, inx) {
                        if (valSignature.substring(0, valSignature.length - 14) == valPdf.substring(0, valPdf.length - 4)) {
                            arr2.splice(inx, 1);
                        }
                    });
                });
                arr4 = arr1.concat(arr2);
                arr5 = arr4.concat(arr3);
                arr5.map(function(val, inx) {
                    html.push("<tr><td><a class=\'file-link file-visited\' href= \'xxxx\' title=\'" + val + "\' target=\'_blank\' >" + val + "</a></td></tr>");

                });
                $("#check-list-table").empty().append(html.join());
            });
        });
    </script>
</head>

<body>
    <button type="button" name="button" id="btncc">点我啊</button>
    <div class="dialog-content">
        <table id="check-list-table">
        </table>
    </div>
</body>

</html>

效果图:

 

以上是关于去除数组中文件名类似的数据的主要内容,如果未能解决你的问题,请参考以下文章

关于iOS去除数组中重复数据的几种方法

C#中 list<object> 去除重复的数据 求最简单的方法!!

js中怎么把数组中重复的数据取出来

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

数组中去除重复的对象的简单方法