JS中的Array对象

Array对象的常用属性

 //Array.isArray(对象) 判断这个对象是否是数组对象
    console.log(Array.isArray(arr));//true
    console.log(Array.isArray(obj));//false
    //.concat(数组1,数组2......)组合成一个新的数组
    var arr1 = [1, 2, 3, 4];
    var arr2 = [5, 6, 7, 8, 9];
    var arr3 = [10, 11, 12, 13, 14]
    console.log(arr1.concat(arr2, arr3));
    //.every(函数)  返回值是bool类型这个函数中有三个参数(一假即假)
    var arr3 = [10, 11, 12, 13, 14]
    //a:元素的值
    //b:元素索引的值
    //c:整个数组
    var flag = arr3.every(function (a, b, c) {
        console.log(a + "-----" + b + "-----" + c);
        return a > 0;//数组的每个元素的值都大于0,才会返回true
    })
    console.log(flag);
    //.some(函数)  返回值是bool类型这个函数中有三个参数(一真即真)
    var flag = arr3.some(function (a, b, c) {
        return a > 13;
    })
    console.log(flag);
    //.....................................................
    var arr = ["小明3", "小红t", "小兰rrryy", "小李ddd", "小四22"];
    //判断数组中的每个元素的长度是不是大于3
    var flag = arr.every(function (element) {
        return element.length > 3;
    })
    console.log(flag);
    //.filter(函数)  返回的是数组中每一个符合条件的元素,组合成一个新的数组(过滤的方法)
     //筛选出不等于0的字符串
    var arr4 = [1, 2, 0, 3, 0, 4, 0];
    var getNum = arr4.filter(function (ele) {
        return ele > 0;
    })
    console.log(getNum);
    //.push()把这个值追加到数组的末尾,返回值是追加后数组的长度
    //.unshift()把这个值追加到数组的第一个元素前面,返回值是追加后数组的长度
    var arr5 = [1, 2, 3, 4];
    var result = arr5.push(5);
    var result1 = arr5.unshift(0);
    console.log(arr5);
    console.log(result);
    console.log(result1);

    //.pop()删除数组中的最后一个元素,返回的是删除的这个值
    //.shift()删除数组中的第一个元素,返回的是删除的这个值
    var arr5 = [1, 2, 3, 4];
    console.log(arr5.pop());//4

    //forEach(函数)  用于遍历数组,相当于for循环
    // console.log(arr5.forEach(function (ele, index) {
    //     console.log(ele + "-----" + index);
    // });

    //indexOf(元素值) 返回的是元素所对的索引值,没有则返回-1
    console.log(arr5.indexOf(2));
    //.join("字符串") 用这个字符串分隔,返回的是一个新的字符串
    var arr = ["小黑", "小白", "小辉"];
    console.log(arr.join("|"));
    //.reverse()  反转数组
    console.log(arr.reverse());
    //.sort()  给数组排序

Array对象的练习

 //1.将一个字符串数组用-分隔并输出 
    var arr=[1,2,3,4,5,6];
    console.log(arr.join("-"));

    //2.反转数组  两种方法
    console.log(arr.reverse());

    //3.工资的数组,只要工资超过2000的删除 三种方法
    //方法一:
        var arr=[1500,2000,3500,1000,800];
        for (var i=0;i<arr.length;i++){
            if (arr[i]>2000){
                arr.splice(i,1);
            }
        }
        console.log(arr);

        arr.forEach(function (ele,index) {
            if (ele>2000) {
                arr.splice(index,1)
            }
        })
     //方法二:
   var newArr= arr.filter(function (ele) {
        return ele<=2000;
    });
        console.log(newArr)
    //方法三:
    var newArr=[];
        arr.forEach(function (ele,index) {
            if (ele<=2000){
                newArr.push(ele);
            }
        })
    console.log(newArr);

        //4.去掉一个数组中的重复元素
    var arr1=["a","b","a","c","c"];
    function clear() {
        var obj={};
        for (var i=0;i<arr1.length;i++){
            if (obj[arr[i]]){
                obj[arr[i]]++;
            }else{
                obj[arr1[i]]=1;
            }
        }
        console.log(obj);
        var newArr=[];//储存新的没有重复的元素
        for (var key in obj){
            //判断每一个键的值是1的话,就添加到数组里面去
            if (obj[key]==1){
                newArr.push(key);
            } else {
                //判断新数组里如果没有ke则添加进去
                if (newArr.indexOf(key)==-1){
                    newArr.push(key);
                }
            }
        }
        console.log(newArr);
    }
    clear();
    
    //5.给数字排序
    var arr = [2, 5, 8, 3, 1, 0, 10];
    arr.sort(function (a, b) {
        if (a > b) {
            return 1;
        } else if (a < b)
        {
            return -1;
        }
    else
        {
            return 0;
        }
    });
    console.log(arr);

    //6.给中文排序
    var arr1=["拉萨","珠穆朗玛峰","青藏高原","武汉","喜马拉雅"]
    arr1.sort(function (a,b) {
        return a.localeCompare(b);
    })
    console.log(arr);
    //.slice(开始的索引,结束的索引) 包前不包含后  截取数组的只放到新的数组
    var arr = [2, 5, 8, 3, 1, 0, 10];
    console.log(arr.slice(3, 4));
    //.splice(开始的位置,要删除的个数,替换的元素的值) 一般用于删除数组中的某个元素,或者替换元素,或者插入元素
            //在索引为2 的位置插曲一个50
    console.log(arr.splice(2,0, 150));//返回的是删除的值
    console.log(arr);
            //在索引为3的基础上删除两个
    arr.splice(3,2);
    console.log(arr);

猜你喜欢

转载自blog.csdn.net/weixin_44392418/article/details/86020515