数组的常用方法

push()

  • 该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度。
  • 可以将要添加的元素作为方法的参数传递,这样这些元素将会自动添加到数组的末尾。
  • 该方法会将数组新的长度作为返回值返回

语法:数组.push(元素1,元素2...元素n);

var arr = [7,8,9];
arr.push(1,2,3);

pop()

该方法可以删除数组的最后一个元素,并将删除的元素作为返回值返回。

语法:数组.pop();

var arr = [7,8,9];
arr.pop();

unshift()

  • 该方法可以向数组开头添加一个或多个元素,并返回新的数组长度
  • 向前边插入元素后,其他的元素索引会依次调整

语法:数组.unshift(元素1,元素2...元素n);

var arr = [7,8,9];
arr.unshift(1,2,3)

shift()

该方法可以删除数组的第一个元素,并将删除的元素作为返回值返回。

语法:数组.shift();

var arr = [7,8,9];
arr.shift();

join()

  • 该方法可以将数组中的所有元素连接为一个字符串
  • 该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回
  • 在join()方法中可指定一个字符串作为参数,这个字符串会称为数组中元素的间隔符号

语法:数组.join("间隔符号");

var arr = [7,8,9];
var result = arr.join(",");  
//间隔符号用于分隔数组的元素,如果不需要分隔则使用join("")即可
//可以加间隔符号也可以不加间隔符号,不加间隔符号则默认为,

concat()

  • 该方法可以连接两个或者多个数组,并将新的数组返回
  • 使用concat()方法不会对原数组产生影响
  • 参数除了是数组,也可以是元素

语法:数组1.concat(数组2,数组3...数组n,元素1,元素2...元素n);

var arr = [1,2,3];
var arr1 = [2,3,4];
var result = arr.concat(arr1);
console.log(result);

sort()

  • 该方法可以对数组元素进行排序
  • 该方法会影响原数组,默认会按照Unicode编码进行排序
  • 即使对于纯数字的数组,使用sort()排序时,也会按照Unicode编码进行排序,所以对数字进行排序时,可能会得到错误的结果

语法:数组.sort();

var arr = [4,9,3];
arr.sort();
console.log(arr);

可以通过在sort()中添加一个回调函数,来指定排序规则:

  • 在回调函数中需要定义两个形参,浏览器会将数组中的元素作为实参去调用回调函数
  • 使用哪个元素作为实参不确定,但肯定的是在数组中a一定在b前边
  • 浏览器会根据回调函数的返回值来决定元素的顺序,如果返回一个大于0的值,则元素会交换位置;如果返回一个小于0的值,则元素位置不变;如果返回0,则认为这两个元素相等,也不交换位置
  • 如果需要升序排序则返回a-b,如果需要降序排序则返回b-a
var arr = [2,5,1,6,9,3,7,4];
arr.sort(function.(a,b){
    //升序排序
    /*通过if语句进行大小判断
      if(a>b)
      {
          return -1;
      }else if(a<b)
      {
          return 1;
      }else
      {
          return 0;
      }
    */
    //也可以直接进行判断,进行升序排序
    return a-b
});

reverse()

  • 该方法可以对数组元素进行倒序排序,即反转数组(前边的元素去后边,后边的元素来前边)
  • 该方法会直接修改原数组

语法:数组.reverse();

var arr = [4,9,3];
arr.reverse();

slice() 

  • 该方法可以从已有的数组中返回选定的元素
  • 该方法不会改变元素数组,而是将截取到的元素封装到一个新数组返回
  • 参数:
  1. 截取开始的位置为索引,包含开始索引
  2. 截取结束的位置为索引,不包含结束索引
  • 第二个参数可以省略不写,此时会截取从开始索引往后的所有元素
  • 索引可以传递一个负值,如果传递一个负值,则从后往前计算

语法:数组.slice(start,end); 

var arr = [4,3,9,7,6];
var result = arr.slice(0,3);
//选取索引为0到2的元素取出
var result2 = arr.slice(0,-2);
//选取索引为0到2的元素取出
console.log(result);
console.log(result2);

splice()

  • 该方法可以删除数组中的指定元素,也可以向数组中添加新元素
  • 使用splice()会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回;也会将新元素添加到原数组中
  • 参数:
  1. 第一个表示开始位置的索引
  2. 第二个表示删除的数量
  3. 第三个及以后可以传递一些新的元素,这些元素会自动插入到开始位置索引前边

语法:数组.splice(start,end,元素1,元素2...元素n);

var arr = [4,3,9,7,6];
var result = arr.splice(0,3);
//选取从索引为0的元素开始的三个元素删除,并返回给result
var result2 = arr.splice(2,0,5,2,8);
//选取从索引为2的元素开始,不进行删除,将5,2,8三个元素插入到其前边
console.log(result);

 数组去重练习

//创建一个数组
var arr = [1,2,3,2,1,3,4,2,5];
//去除数组中重复的数字
//创建一个数组
var arr = [1, 2, 3, 2, 1, 3, 4, 2, 5];
//去除数组中重复的数字
for (var i = 0; i < arr.length; i++,j++) {
    //创建第一个循环,为数组中的每一个元素都进行一次数组遍历
    //查找是否有相同的元素
    for (var j = i+1; j < arr.length; j++) {
        //创建第二个循环,寻找是否存在与索引为i的相同的元素
        //遍历数组中的每一个除了i本身的元素,若有相同的元素则删除
        if (arr[i] == arr[j]) 
        {
            arr.splice(j, 1);
        }
    }
}
console.log(arr);

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值