최근 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; // 读取文件内容 }
<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('MSIE') >= 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 = 'text/plain'; $('#createInvote').attr('href', 'data:' + mimeType + ';charset=utf-8,' + encodeURIComponent(fileData)); var btn = document.getElementById('createInvote'); btn.download = fileName; document.getElementById('createInvote').click();//为了触发createInvote } }
/** *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); }
$("#file").on("change", function (evt) { var fileExtend = fileName.substring(file.value.lastIndexOf('.'));//获取文件后缀 .zip/.png为了方便比较还可以把她转为小写..... this.value = '';//为了能持续触发onchange 因为当value值相同就不会再触发 特别是点击返回按钮过来的情况 });
위 내용은 일반적으로 사용되는 js 읽기 및 쓰기 파일 정렬에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!