js创建map

来源:互联网 发布:编程的基本逻辑 编辑:程序博客网 时间:2024/06/12 04:36

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> 想学习 </TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
</HEAD>

<BODY>
<input type="file" id="f2">
 <input type="button" value="读取Excel" onclick="readExcel();">
</BODY>
<script>
 function readExcel()
 {
    var oXL = new ActiveXObject("Excel.Application");
    var map = new Map();
 var map2 = new Map();

 var temp = {};
 var res = {};

 var fileDir = document.getElementById("f2").value;
 if (fileDir.length==0) {
  alert("请选择文件...");
  return;
 }
    var oWB = oXL.Workbooks.open(fileDir);
 //var oSheet = oWB.WorkSheets(1);
 oWB.worksheets(1).select();
 var oSheet = oWB.ActiveSheet;
  for (i = 1; i <=oSheet.UsedRange.Rows.Count; i++){
   for (j = 1; j <=oSheet.UsedRange.Columns.Count; j++){ value = oSheet.Cells(i, j).Value;
    if (value != undefined){
       if (map.get(value) != undefined)
      {
      map2.put(value,value);
     }
     map.put(value,value);

     if (value in temp) {
      if (!(value in res)) {
       res[value] = value;
      }
     } else {
      temp[value] = value;
     }

    }
    
   }}
 oSheet=null;
 oWB.close();
  oXL=null;

 for (col in res) {
  alert("测试:"+res[col]);
 }

 for (var k=0;k<map2.arr.length;k++) {
  alert(map2.arr[k].key);
  }
   
 }
  </script>
  <script>
  function Map() {  
 var struct = function(key, value) {  
  this.key = key;  
  this.value = value;  
 }  
   
 var put = function(key, value){  
  for (var i = 0; i < this.arr.length; i++) {  
   if ( this.arr[i].key === key ) {  
    this.arr[i].value = value;  
    return;  
   }  
  }  
   this.arr[this.arr.length] = new struct(key, value);  
 }  
   
 var get = function(key) {  
  for (var i = 0; i < this.arr.length; i++) {  
   if ( this.arr[i].key === key ) {  
     return this.arr[i].value;  
   }  
  }  
  return null;  
 }  
   
 var remove = function(key) {  
  var v;  
  for (var i = 0; i < this.arr.length; i++) {  
   v = this.arr.pop();  
   if ( v.key === key ) {  
    continue;  
   }  
   this.arr.unshift(v);  
  }  
 }  
   
 var size = function() {  
  return this.arr.length;  
 }  
   
 var isEmpty = function() {  
  return this.arr.length <= 0;  
 }   
 this.arr = new Array();  
 this.get = get;  
 this.put = put;  
 this.remove = remove;  
 this.size = size;  
 this.isEmpty = isEmpty;  
}

  </script>
</HTML>