>  기사  >  웹 프론트엔드  >  일반적으로 사용되는 js 읽기 및 쓰기 파일 정렬에 대한 자세한 설명

일반적으로 사용되는 js 읽기 및 쓰기 파일 정렬에 대한 자세한 설명

小云云
小云云원래의
2018-03-17 16:45:241518검색

최근 js를 작성하다 보니 생각했던 것과 다른 규칙이 많은 것을 발견했습니다. 결국, 시작한 지 얼마 되지 않아 우회를 많이 했습니다. 이 글에서는 주로 자주 사용되는 내용을 요약하고 기록합니다. Node.js 읽기 및 쓰기 파일 정렬 세부 정보가 모두에게 도움이 되기를 바랍니다.

1 (4, Map(키, 값)의 값에 따라 Map을 작게 재귀적으로 정렬하려면 값이 매우 중요합니다

   $("#file").on("change", function (evt) {
        var fileExtend = fileName.substring(file.value.lastIndexOf('.'));
        //获取文件后缀  .zip/.png为了方便比较还可以把她转为小写.....
        this.value = '';
        //为了能持续触发onchange 因为当value值相同就不会再触发 特别是点击返回按钮过来的情况
    });

최근 JS를 작성해보니 많은 규칙이 생각과 다르다는 것을 발견했습니다. Record

1, 파일 태그로 인해 업로드 시: 동일한 파일을 다시 업로드할 때 onchange 메소드가 더 이상 트리거되지 않습니다.

트리거하려는 메소드:

$("#file").on("change", function () {
        var files = $(this).prop('files');        var reader = new FileReader();
        reader.readAsText(files[0], "UTF-8");//读取文件
        reader.onload = function (evt) {
            var fileString = evt.target.result; // 读取文件内容  
    }

2, file로 업로드된 파일 정보 읽기

<a onfocus="this.blur();" style="display: none" id="createInvoteBtn" class="ipt-todo" href="javascript:void(0)">生成并导出Txt文件</a>
<a onfocus="this.blur();" style="display: none" id="createInvote" class="ipt-todo hide">code</a>

为了兼容IE请把上述标签写上,由于display:none所以不影响网页内容/**
*fileName  文件名
*fileData 需要写入文件的内容
*/
     function generateFile(fileName,fileData){          var isIE = (navigator.userAgent.indexOf(&#39;MSIE&#39;) >= 0);//是否是IE浏览器
            if (isIE) {                var winSave = window.open();
                winSave.document.open("text", "utf-8");
                winSave.document.write(fileData);
                winSave.document.execCommand("SaveAs", true, fileName);
                winSave.close();
            } else {                var mimeType = &#39;text/plain&#39;;
                $(&#39;#createInvote&#39;).attr(&#39;href&#39;, &#39;data:&#39; + mimeType + &#39;;charset=utf-8,&#39; + encodeURIComponent(fileData));                var btn = document.getElementById(&#39;createInvote&#39;);
                btn.download = fileName;
                document.getElementById(&#39;createInvote&#39;).click();//为了触发createInvote
            }
        }

3, 로컬 파일을 생성하고

/**
*map 是需要排序的对象
*newMap 排序后的map对象
*/

  var newMap = {};
 function orderMapByvalue(map) {        if (JSON.stringify(map) == "{}") {        //doSomething
            return newMap;//注意for(key in map)是异步遍历,所以对newMap的操作最好在return前
        }        for (key1 in map) {//只是为了获得第一组的key value 遍历一次就会break
            var tempKey = key1;            var tempValue = map[key1];            for (key2 in map) {                if (map[key2] - tempValue >= 0) {//这里是排序规则 根据需求改变
                    tempKey = key2;//接受value最大的key
                    tempValue = map[tempKey];//最大的value
                }
            }
           newMap[tempKey] =tempValue;//注意如果key是数字无论是你是什么时候插入 1还是"1" 系统会自动根据数字的大小重新排序,我这里的key不是纯数字,所以没问题
            delete map[tempKey];            break;//break是为了只for一次,毕竟js我没找到直接获取map第一个元素对的方法,只能这样来获取map里的第一组数据
        }
        orderMapByvalue(map);
    }

4, 맵(키, 값) 값에 따라 map

   $("#file").on("change", function (evt) {
        var fileExtend = fileName.substring(file.value.lastIndexOf(&#39;.&#39;));//获取文件后缀  .zip/.png为了方便比较还可以把她转为小写.....
        this.value = &#39;&#39;;//为了能持续触发onchange 因为当value值相同就不会再触发 特别是点击返回按钮过来的情况
    });

을 메이저에서 소로 재귀적으로 정렬합니다. 관련 권장 사항:

PHP에서 동시 파일 읽기 및 쓰기 문제를 해결하는 방법

PHP 파일 코드 읽기 및 쓰기

파일 읽기 및 쓰기를 위한 PHP 구현 코드

위 내용은 일반적으로 사용되는 js 읽기 및 쓰기 파일 정렬에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.