日期:2014-05-16  浏览次数:20417 次

一个快速数组定位查找问题不要用循环
一个快速数组定位查找问题不要用循环
  样例: 姓名 成绩一 成绩二
  李丹 77 89
  汪一 89 67
  郑浩 73 79
  菜杨 65 71

问题:知道“汪一”的名字 不用循环 就知道 汪一所在数组A[2]列 
  从而得到汪一的成绩
  可以在查找处理前,做好数据初始化工作,因为有显示的要求,在这个数组定位查找前,我已经使用一个循环遍历了
如果再次用循环方式查找的话,机器会很慢了 格外给个建议吧

------解决方案--------------------
JScript code
var data = {
    "李丹": [77, 89],
    "汪一": [89, 67]
}
alert(data["汪一"][1]);

------解决方案--------------------
在你第一次循环遍历时弄一个对象(类似java的map)或一个json型数据。
------解决方案--------------------
<script type="text/javascript">
function Map(){
this.name=[];

}
Map.prototype.put=function(name,value1,value2){
var value=[];
value.push(value1);
value.push(value2);
this.name[name]=value;
}
Map.prototype.get=function(name){
return this.name[name];
}
var m=new Map();
m.put("zhangsan",'20','50');
m.put("zhangsan2",'220','250');
alert(m.get("zhangsan2"));
</script>
这样试试
------解决方案--------------------
完全可以转化为json数据直接取
------解决方案--------------------
记得js是可以同通过文字下标访问的