//把一个字符串分割成数组,利用 字符串名.split() 函数进行分割,split(arg1, arg2)中arg1表示把字符串中什么作为分隔符,arg2表示分割出前几个

//输出会默认用逗号分隔

<script>
  var str = "What the ghost";
  document.write(str.split(" ") + "<br/>");  //把空格作为分隔符

  document.write(str.split("h") + "<br/>");  //把h作为分隔符
  document.write(str.split("") + "<br/>"); //空字符作为分隔符表示把每个字符分割出来包括空格
  document.write(str.split(" ", 2) + "<br/>"); //把空格作为分隔符,只分割前两个出来
  document.write(str.split(" ")[1] + "<br/>"); //把分割所得数组中的第二个元素输出

  //遍历数组

  var arr = str.split(" ");

  for(var i=0; i<arr.length; i++)

    document.write(arr[i] + "&nbsp");

  document.write("<br/>");

  //另一种遍历方法
  for(var key in arr);
    document.write(arr[key] + "&nbsp");

  document.write("<br/>");

  //就算给arr加长下标用字符串也行, 但是这种非数字下标不会改变数组的长度, 数组的长度是按数字下标的最大值+1来算

  arr["gg"] = "阿西坝"  

  for(var key in arr)
    document.write(key + ":" + arr[key] + "<br/>");

</script>

输出如下:

What,the,ghost

W,at t,e g,ost
W,h,a,t, ,t,h,e, ,g,h,o,s,t
What,the
the

What the ghost 

What the ghost 

0:What
1:the
2:ghost
gg:阿西坝

 

//二维数组的定义和遍历

<script>
  var arr = [["什", "么", "鬼"], ["What", "the", "ghost"]];
  for(var i=0; i<arr.length; i++)
    for(var j=0; j<arr[i].length; j++)
      document.write(arr[i][j] + "&nbsp");
</script>

输出结果:什 么 鬼 What the ghost 

 

/*二维数组的转置,把整齐的数组矩阵(每一行的元素个数一样)

  1 1 1

  2 2 2

  3 3 3

  4 4 4

转置 */

<script>
  var arr1 = [[1, 1, 1], [2, 2, 2], [3, 3, 3], [4, 4, 4]];

  //输出原始矩阵
  for(var i=0; i<arr1.length; i++)
  {
    for(var j=0; j<arr1[i].length; j++)
      document.write(arr1[i][j] + "&nbsp");
    document.write("<br/>");
  }
  var arr2 = [];    //用来存储转置后的数组,必须先分配空间,用new Array()是一样的
  for(i=0; i<arr1[0].length; i++)
    arr2[i] = []; //同上,必须先分配空间不然在下个循环中赋值会失败

  //在此中转置赋值
  for(i=0; i<arr1.length; i++)
  {
    for(j=0; j<arr1[i].length; j++)
      arr2[j][i] = arr1[i][j];
  }

  //遍历输出转置后的矩阵
  for(i=0; i<arr2.length; i++)
  {
    for(j=0; j<arr2[i].length; j++)
      document.write(arr2[i][j] + "&nbsp");
    document.write("<br/>");
  }
</script>

输出结果:

1 1 1 
2 2 2 
3 3 3 
4 4 4 
1 2 3 4 
1 2 3 4 
1 2 3 4 

 

 

/*数组元素倒序*/

<script>
  var arr = [];
  arr[0] = 1;
  arr[1] = 2;
  arr[2] = 3;
  for(var i=0; i<arr.length; i++)
    document.write(arr[i] + " ");  //输出1 2 3
  document.write("<br/>");
  arr.reverse();  //把数组内元素次序颠倒
  for(var i=0; i<arr.length; i++)
    document.write(arr[i] + " ");  //输出3 2 1
</script>