javaScript数组常用的的一些操作

(1) 数组的创建
     两种方式
     1.直接等于 []
     var arr=[]; var arr1=[1,2,3];
     2.new关键字声明  new Array();
     var arr4=new Array(5); var arr5=new Array(5,8,6);
(2) 数组的使用
数字的长度 arr1.length;
数组从小到大排序.sort()方法;
注意: .sort()方法排序有弊端  按照 unicode码 去排列  先比较第一位 按照第一位的排序 第一位如果相等 则 排序第二位
var arr = [23,12,1,34,116,8,18,37,56,50];
  alert(arr.sort();
 返回:[1, 116, 12, 18, 23, 34, 37, 50, 56, 8];

所以要自己定义一个sort方法必须自己定义一个函数
 var arr = [23,12,1,34,116,8,18,37,56,50];
  function sequence(a,b){
    if (a>b) {
      return 1;
    }else if(a<b){
      return -1
    }else{
      return 0;
    }
  }
  console.log(arr.sort(sequence));
 返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (没有问题)


当然也可以把排序函数写到sort()方法里面:
var arr = [23,12,1,34,116,8,18,37,56,50];
  var arr2 = arr.sort(function(a,b){
     if (a>b) {
      return 1;
    }else if(a<b){
      return -1
    }else{
      return 0;
    }  
  })
  console.log(arr2);
返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (也没有问题)


也可以简化成这样的写法
因为:若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值
var arr = [23,12,1,34,116,8,18,37,56,50];
  function sequence(a,b){
    return a - b;
  }
  console.log(arr.sort(sequence));
返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116] (也是正确的)

     第一种遍历  利用for循环的i递变 取出每一个元素
             for(var i=0;i<arr.length;i++){
                 var str=arr[i];
               console.log(str);
             }
     for  in  循环  专门遍历数组的
     第二种遍历方式 for in  遍历数组 把数组的索引值放入我们自己声明的变量里面
             for(var index in arr){
                 console.log(index);//索引
                 console.log(arr[index]);//数组的每项
                 console.log("-------------------");
             }
数组常用的增删改查截取拼接等

 1.向数组最后一位插入指定元素 
var arr = [1,2,3,4,5];
arr.push(6);
console.log(arr);//[1, 2, 3, 4, 5, 6]

 
  
 
  
2.向数组第一位插入指定元素  返回新的长度
 
  
var arr = [1,2,3,4,5];
arr.unshift(6);
console.log(arr);// [6, 1, 2, 3, 4, 5]

3.合并数组  不改变原数组
 
   
  
var arr=['张飞','关羽','刘备']
var arr1= arr.concat('吕布');
console.log(arr);// ["张飞", "关羽", "刘备"]
console.log(arr1);//["张飞", "关羽", "刘备", "吕布"]

4.将数组转换成字符串
var str1= arr.join(); //什么也不加用逗号隔开
console.log(str1);//张飞,关羽,刘备
var str2= arr.join("");// 中间什么都没有直接拼接
console.log(str2);//张飞关羽刘备
var str3= arr.join("|");
console.log(str3);//张飞|关羽|刘备

 5.从start开始到end结束,包含头不包含尾(截取)
var arr = [1,2,3,4,5];
var newArr=arr.slice(1,3);
console.log(newArr);//[2, 3]

6.从start开始 删除length个(截取)
var arr = [1,2,3,4,5];
var s=arr.splice(1,3);
console.log(s);// [2, 3, 4]

7.删除最后一位元素 返回删除的元素
var arr = [1,2,3,4,5];
console.log(arr.pop());//5
console.log(arr);//[1, 2, 3, 4]






 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值