数组对象

33 阅读2分钟

添加或删除数组元素

方法名功能描述返回值
push数组末尾添加一个或多个元素,会修改原数组返回数组的新长度
unshift数组开头添加一个或多个元素(把数组长度-1,无参数),会修改原数组返回数组的新长度
pop()删除数组的最后一个元素,若是空数组则返回undefined返回删除的元素的值pop()会修改原数组
shift()删除数组的第一个元素,若是空数组则返回undefined,会修改原数组返回第一个元素的值
        var arr = ['pink', 'black', 'white', 'yellow'];
        console.log(arr.push('red'));
        console.log(arr);

        var arr = ['pink', 'black', 'white', 'yellow']
        console.log(arr.unshift('red', 'blue'));
        console.log(arr);

        var arr = ['pink', 'black', 'white', 'ye11ow']
        console.log(arr.pop());
        console.log(arr);

        var arr = ['pink', 'black', 'white', 'ye11ow']
        console.log(arr.shift());
        console.log(arr);

数组排序

方法功能描述
reverse()颠倒数组中元素的位置,该方法会改变原数组,返回新数组
sort()对数组的元素进行排序,该方法会改变原数组,返回新数组
 var arr = ['red', 'blue', 'green']
        console.log(arr.reverse());
        console.log(arr);
        var arr1 = [1, 4, 5, 8, 74, 76, 23, 65];
        console.log(arr1.sort());
        arr1.sort(function (a, b) {
            return a - b;
        })
        console.log(arr1);

数组索引

方法功能描述
indexOf0)返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
lastlndexOf()返回指定元素在数组中的最后一个的索引,如果不存在则返回-1
   var beasts = ['ant', 'bison', 'came1', 'duck', 'bison']
        console.log(beasts.indexOf('bison'));//1
        console.log(beasts.indexOf('bison', 2));//4
        console.log(beasts.indexOf('giraffe'));//-1


        var animals = ['Dodo', 'Tiger', 'penguin', 'Dodo'];
        console.log(animals.lastIndexOf('Dodo'));//3
        console.log(animals.lastIndexOf('Tiger'));//1

数组转换为字符串

方法功能描述
toString0)把数组转换为字符串,逗号分隔每一项
join(分隔符)将数组的所有元素连接到一个字符串中
 var arr = ['a', 'b', 'c'];
        console.log(arr.toString());
        console.log(arr.join());
        console.log(arr.join(''));
        console.log(arr.join('-'));

其他方法

方法功能描述
fill()用一个固定值填充数组中指定下标范围内的全部元素
splice()通过删除或替换现有元素或者原地添加新的元素来修改数组,返回被删除项目的新数组
slice()数组截取,参数为slice(begin,end),包含 begin,但不包含 end,返回被截取项目的新数组
concat()连接两个或多个数组,不影响原数组,返回一个新数组
      var array1 = [1, 2, 3, 4];
        console.log(array1.fill(0, 2, 4));
        console.log(array1.fill(5, 1));
        console.log(array1.fill(6));
var myFish = ["小米", "小明", "小张", "小李"];
                var removed = myFish.splice(2, 0, "小红");
                console.log(myFish);
                console.log(removed);
        
                var myFish = ["小米", "小明", "小张", "小李"];
                var removed = myFish.splice(2, 0, '小刚', '小蔡');
                console.log(myFish);
                console.log(removed);
        
                var myFish = ["小米", "小明", "小张", "小李"];
                var removed = myFish.splice(0, 2, '小兰', '小蔡', '小刚');
                console.log(myFish);
                console.log(removed);
        
                var myFish = ['小兰', '小蔡', '小刚', '小张', '小李'];
                var removed = myFish.splice(2);
                console.log(myFish);
                console.log(removed);
 var array3 = ['小兰', '小蔡', '小刚', '小张', '小李'];
        var getArr = array3.slice(-2);
        console.log(array3);
        console.log(getArr);

        // 连接两个数组
        const letters = ['a', 'b', 'c'];
        const numbers = [1, 2, 3];
        const concatArr = letters.concat(numbers);
        console.log(letters);//['a','b','c']
        console.log(concatArr);//['a','b','c',1,2,3]
        // 连接三个数组
        const num1 = [1, 2, 3];
        const num2 = [4, 5, 6];
        const num3 = [7, 8, 9];
        const numArr = num1.concat(num2, num3); console.log(numArr);//[1,2,3,4,5,6,7,8,9]
        // 将值连接到数组
        const arrl = ['a', 'b', 'c'];
        const newArr1 = letters.concat(1, [2, 3]);
        console.log(newArr1);//['a','b','c',1,2,3]