首页 > 技术文章 > 数组

sc1314-1218 2018-01-08 22:09 原文

数组

重复做一件事,改变思路~

/*var name = ""
第一种:定义并赋值(最常用的)
var arr =["值1","值2","值3"]

var arr1 =[];
arr1[0] = 123;
arr1[1] = 123;
arr1[3] = 123;
第二种
var arr2=new Array("值1","值2","值3");
var arr2=new Array("值1","值2","值3");

数组长度(元素的个数) 数组:length
console.log(arr.length)
下标(索引) :代表数组中第几个元素 从0开始
arr[0] = 123;
arr[1] = 123;
arr[2] = 123;
console.log(arr.length)
索引和数组长度的关系 索引=数字长度-1

 

 

函数定义(声明)
/*function(参数列表){
执行代码
}
调用
函数名(参数列表)

Js的两种post方式

 1 var xmlobj;  //定义XMLHttpRequest对象
 2 
 3 function CreateXMLHttpRequest()
 4 
 5 {
 6 
 7 if(window.ActiveXObject)
 8 
 9                        //如果当前浏览器支持Active Xobject,则创建ActiveXObject对象
10 
11 {
12 
13          //xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
14    try {
15            xmlobj = new ActiveXObject("Msxml2.XMLHTTP");
16             } catch (e) {
17           try {
18              xmlobj = new ActiveXObject("Microsoft.XMLHTTP");
19                } catch (E) {
20                    xmlobj = false;
21                      }
22                }
23   
24              }
25 
26 else if(window.XMLHttpRequest)
27 
28                     //如果当前浏览器支持XMLHttp Request,则创建XMLHttpRequest对象
29 
30 {
31 
32          xmlobj = new XMLHttpRequest();
33 }
34 
35 }
36 
37 function SubmitArticle(act,cityname,antique)                        //主程序函数
38 
39 {
40    
41     CreateXMLHttpRequest();                     //创建对象 
42     //var parm = "act=firstweather" ;//构造URL参数
43  //antique = escape(antique);
44  var parm = "act=" + act + "&cityname=" + cityname + "&antique=" + antique;//构造URL参数
45     //xmlobj.open("POST", "{dede:global.cfg_templeturl/}/../include/weather.php", true);  //调用weather.php   
46  xmlobj.open("POST", "/weather/include/weather.php", true);  //调用weather.php   
47  xmlobj.setRequestHeader("cache-control","no-cache");
48  xmlobj.setRequestHeader("contentType","text/html;charset=uft-8") //指定发送的编码
49     xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");   //设置请求头信息
50    
51     xmlobj.onreadystatechange = StatHandler;    //判断URL调用的状态值并处理
52 
53     xmlobj.send(parm); //设置为发送给服务器数据
54 
55 }
第一种
 1 function post(URL, PARAMS) {      
 2     var temp = document.createElement("form");      
 3     temp.action = URL;      
 4     temp.method = "post";      
 5     temp.style.display = "none";      
 6     for (var x in PARAMS) {      
 7         var opt = document.createElement("textarea");      
 8         opt.name = x;      
 9         opt.value = PARAMS[x];      
10         // alert(opt.name)      
11         temp.appendChild(opt);      
12     }      
13     document.body.appendChild(temp);      
14     temp.submit();      
15     return temp;      
16 }      
17      
18 调用方法 如      
19 post('pages/statisticsJsp/excel.action', {html :prnhtml,cm1:'sdsddsd',cm2:'haha'});
第二种

多维数组

1、数组(向量)——常用数据类型

     一维数组(向量)是存储于计算机的连续存储空间中的多个具有统一类型的数据元素。
     同一数组的不同元素通过不同的下标标识。
       (a1,a2,…,an)

2、二维数组

     二维数组Amn可视为由m个行向量组成的向量,或由n个列向量组成的向量。
       
     二维数组中的每个元素aij既属于第i行的行向量,又属于第j列的列向量。

3、多维数组
     三维数组Amnp可视为以二维数组为数据元素的向量。四维数组可视为以三维数组为数据元素的向量……
     三维数组中的每个元素aijk都属于三个向量。四维数组中的每个元素都属于四个向量……

4、数组的顺序存储方式
     由于计算机内存是一维的,多维数组的元素应排成线性序列后存人存储器。
     数组一般不做插入和删除操作,即结构中元素个数和元素间关系不变化。一般采用顺序存储方法表示数组。
(1)行优先顺序
     将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。
  【例】二维数组Amn的按行优先存储的线性序列为:
    a11,a12,…,a1n,a21,a22,…,a2n,……,am1,am2,…,amn

  注意:
     ①PASCAL和C语言中,数组按行优先顺序存储。
     ②行优先顺序推广到多维数组,可规定为先排最右的下标。

(2)列优先顺序
     将数组元素按列向量排列,第i+1个列向量紧接在第i个列向量后面。
  【例】二维数组Amn的按列优先存储的线性序列为:
    a11,a21,…,am1,a12,a22,…,am2,……,a1n,a2n,…,amn

  注意:
     
①FORTRAN语言中,数组按列优先顺序存储。
     ②列优先顺序推广到多维数组,可规定为先排最左的下标。

5、数组元素的地址计算公式
(1)按行优先顺序存储的二维数组Amn地址计算公式
        LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d
    其中:
  ①LOC(a11)是开始结点的存放地址(即基地址)
  ②d为每个元素所占的存储单元数
  ③由地址计算公式可得,数组中任一元素可通过地址公式在相同时间内存取。即顺序存储的数组是随机存取结构。

(2)按列优先顺序存储的二维数组Amn地址计算公式
          LOC(aij)=LOC(a11)+[(j-1)×m+i-1]×d

(3)按行优先顺序存储的三维数组Amnp地址计算公式
      LOC(aijk)=LOC(a111)+[(i-1)×n×p+(j-1)×p+k-1]×d

(4)下界不为1的二维数组的地址计算公式

  ①二维数组A[c1..d1,c2..d2]的地址计算公式:
      LOC(aij)=LOC(ac1c2)+[(i-c1)×(d2-c2+1)+j-c2]×d
  ②下界为0的二维数组的地址计算公式(C语言中使用)
      LOC(aij)=LOC(a00)+[i×(d2+1)+j]×d

推荐阅读