添加删除数组 数组排序 翻转数组 数组去重

目录

1、添加删除数组元素

2、翻转数组

3、数组排序

4、数组索引

 5、求某个字符出现次数

 6、数组去重

7、数组转换字符


1、添加删除数组元素

1.添加元素

//1.push()在末尾添加  push推
       var arr=[1,2,3];
       arr.push(4,'深圳');
       console.log(arr);
//2.unshift 在数组开头语加
       arr.unshift('杭州',0);
       console.log(arr);

 2.删除元素

 //3.pop 删除数组最后一个元素
       arr.pop();
      // console.log(arr.pop());
       console.log(arr);

       //4.shift删除第一个元素
       console.log(arr.shift());
       console.log(arr);

添加push(参数...)在数组的末尾添加一个或多个元素
unshift(参数...)在数组开头添加一个或多个元素
删除pop()删除数组最后一个元素,若数组为空返回undefined
shift()删除数组的第一个元素,返回数组的第一个元素

2、翻转数组

   reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。

语法:  

arr.reverse()
//翻转数组
var arr=['深圳','上海','杭州'];
       arr.reverse();
       console.log(arr);

3、数组排序

sort

//sort排序【有问题】
var arr1=[3,55,8,12,90,7];
       arr1.sort();
       console.log(arr1);

 

上面sort排序有问题,它只能排数字为个位数的数组

当数字按由小到大排序时,7 出现在 55之前,但因为,比较的数字会先被转换为字符串,所以在Unicode顺序上 "55" 要比 "7" 要靠前。

因此,我们将这样书写sort排序。

//sort排序【正确版】
var arr1=[3,55,8,12,90,7];
arr1.sort(function(a,b){
           //升序排列   b-a 降序排列
           return a-b;
       })
       console.log(arr1);

4、数组索引


           indexOf([参数]):查找给定值的第一个索引
           
           lastIndexOf([参数]):查找给定值的最后一个索引

 indexOf() 方法返回调用它的 String 对象中第一次出现的指定值的索引,从 fromIndex 处进行搜索。如果未找到该值,则返回 -1。

//indexOf 返回数组元素索引号的方法 
        var arr=['深圳','广州','杭州'];
        console.log(arr.indexOf('杭州'));
        //lastIndexOf  从后往前查找
        console.log(arr.lastIndexOf('杭州'));

【注意】如果一个数组好几个元素相同,它只返回第一个下标 如果没有该元素,则返回-1。从后往前查找,4,3,2,1,式查找,与从前向后返回值一样

 5、求某个字符出现次数

 //求某个字符出现的次数以及位置
        var str = 'zxcvzxbnmzzxcbv';
        var index = str.indexOf('z');
        var num = 0;
        while (index !== -1) {
            //输出必须写在上面
            console.log(index);
            num++;
            index = str.indexOf('z', index + 1);
        }
        console.log('z出现次数' + num);

 6、数组去重

/封装一个去重的函数 unique
        function unique(arr){
            var newArr=[];
            for(var i=0;i<arr.length;i++){
                if(newArr.indexOf(arr[i])=== -1){
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        var demo=unique([1,3,5,4,2,3,4,5,67]);
        console.log(demo);

7、数组转换字符

//toString数组转化为字符串
        var arr=[1,2,3];
        console.log(arr.toString());

 //join (分隔符)
var arr=[1,2,3]
        console.log(arr.join('--'));

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值