您的位置:首页 > Web前端 > JavaScript

javascript数组基础知识(一)

2015-06-17 21:32 696 查看
1.定义:

① var arr = [1,2,3];

② var arr = new Array(1,2,3);

2.属性:

length-->可对数组进行读、写    

var arr =[1,2,3];

alert(arr.length); // 3

arr.length = 1 ; //此时数组里仅剩下一个值,其它值被清空

扩展:快速清空数组元素的方法:

① arr.length = 0;

② arr[]; //效率比上面的高点

3.方法:

① 添加:push()、unshift()

push():添加值到数组末尾,返回数组的最新长度

unshift():添加值到数组前端,返回数组的最新长度

② 删除:pop()、shift()

pop():删除数组最后面的值,返回被删除的那个值

shift():删除数组最前面的值,返回被删除的那个值

实例:
<script>
  var arr =[1,2,3,4,5,6];
  arr.unshift(arr.pop());    //把数组的最后一个值删除并插入到第一个位置
  alert(arr);                //6,1,2,3,4,5

</script>


<script>

  var arr =[1,2,3,4,5,6];
  arr.push(arr.shift());         //把数组的第一个值删除并插入到最后一个位置
  alert(arr); //2,3,4,5,6,1

</script>


③ 添加、删除、替换:splice()

splice():能对数组元素进行添加、删除、替换操作,返回值为被删除的那个值,如果没有删除操作,将无返回值。

实例:
var arr = [1,2,3,4,5,6];
  arr.splice(0,2); // 从第0位开始,删除两个值
  alert(arr);      // 3,4,5,6
  arr.splice(4,1,'lily');   //从第4位开始,添加1个值“lily”
  alert(arr);    //3,4,5,6,lily
  arr.splice(1,0,'jack');    //把4换成'jack'
  // alert(arr);    //3,jack,4,5,6,lily


  
实例:数组去重

<script>
  var arr =[1,2,3,4,3,2,3,5,6];
  for(var i=0; i<arr.length; i++){
    for(var j=i+1; j<arr.length; j++){
      if(arr[i] == arr[j]){
        arr.splice(j,1);
        j--;
      }
    }
  }
  alert(arr);     // 1,2,3,4,5,6

</script>


④ 排序:sort()

方式一:按照字符编码排序

  var arr = ['b','d','a','c'];

  arr.sort();

  alert(arr); //a,b,c,d
var arr = ['b','d','a','c'];
  arr.sort();
  alert(arr); //a,b,c,d


方式二:借助比较函数去排序

实例:有序排序

<script>
  var arrWidth = ['10px','30px','222px','2px'];
  arrWidth.sort(function(a,b){
    return parseInt(a)-parseInt(b);
  });
  alert(arrWidth);      //2px,10px,30px,222px

</script>


实例:随机排序

<script>
  var arr = [1,2,3,4,5,6,7];
  arr.sort(function(a,b){
    return Math.random()-0.5;
  });
  alert(arr);       //2,3,1,5,6,4,7

</script>


扩展:随机函数Math.random();
Math.random()是0~1之间的随机函数
Math.round()是四舍五入取整的函数
Math.ceil()向上取整函数
0~1之间的随机整数:Math.round(Math.random());
0~10之间的随机整数:Math.round(Math.random()*10);
5~10之间的随机整数:Math.round(Math.random()*5+5);
10~20之间的随机整数:Math.round(Math.random()*10+10);
20~100之间的随机整数:Math.round(Math.random()*80+20);
由上:
x~y之间的随机整数:
  Math.round(Math.random()*(y-x))+x);
0~x之间的随机整数:
  Math.round(Math.random()*x);
1~x之间的随机整数:
  Math.ceil(Math.random()*x);

④ 连接数组:concat()
  var arr1 = [1,2,3];
  var arr2 = [4,5,6];
  var arr3 = [7,8,9];
  alert(arr1.concat(arr2,arr3));      //1,2,3,4,5,6,7,8,9

⑤ 颠倒数组位置: reverse()
  var arr1 = [1,2,3,4,5,6];
  arr1.reverse();
  alert(arr1);      //6,5,4,3,2,1
扩展:颠倒字符串位置
var str = "abcdef";
alert(str.split('').reverse().join(''));   //fedcba

原文出处:http://www.cnblogs.com/banmengbanxing/p/4583790.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 数组 基础 js