js中数组的常见方法

js中数组的常见方法

1.push()和pop()
push(): 把里面的内容添加到数组末尾,并返回修改后的长度。
pop():移除数组最后一项,也就是下标为length-1的项,返回移除的那个值,减少数组的length。
书写格式:arr.push(" "),括号里面写内容 (“字符串要加引号”),
书写格式:arr.pop( )

        var arr = ["a", "b", "c"];
        var arr1 = arr.push("d", "e");
        console.log(arr1); // 5
        console.log(arr); // ["a", "b", "c", "d", "e"]
        var item = arr.pop();
        console.log(item); // e
        console.log(arr); // ["a", "b", "c", "d"]

2.shift() 和 unshift()
与上面push,pop相反,针对第一项内容
shift():删除原数组第一项,也就是下标为0的项删除,同时将数组长度减 1,并返回删除元素的值;如果数组为空则返回undefined 。
unshift:将参数添加到原数组开头,并返回数组的长度 。
书写格式:arr.shift(" "),括号里面写内容 (“字符串要加引号”),

        var arr = ["a", "b", "c"];
        var arr1 = arr.unshift("d", "e");
        console.log(arr1); // 5
        console.log(arr); //["d", "e", "a", "b", "c"]
        var item = arr.shift();
        console.log(item); // d
        console.log(arr); //["e", "a", "b", "c"]

3.join()
join:就是把数组转换成字符串,然后给他规定个连接字符,默认的是逗号( ,)
书写格式:join(" "),括号里面写字符串 (“要加引号”),单引号/双引号都可以,参数就是连接符。

        var arr = [1, 2, 3];
        var arr1 = ['aaa', 'bbb', 'ccc'];
        console.log(arr.join()); // 1,2,3
        console.log(arr.join('.')); // 1-2-3
        console.log(arr1.join('.')); // aaa.bbb.ccc
        console.log(arr); // [1, 2, 3](原数组不变)

4.sort()
sort():将数组里的项从小到大排序
书写格式:arr.sort( )

        var arr = [1, 2, 3, 4, 5];
        var arr1 = ["a", "d", "c", "b"];
        console.log(arr.sort()); // [1, 2, 3, 4, 5]
        console.log(arr1.sort()); // ["a", "b", "c", "d"]

5.reverse()
reverse():反转数组项的顺序。
书写格式:arr.reverse( )

        var arr = [1, 2, 3, 4, 5];
        var arr1 = ["a", "b", "c", "d"];
        console.log(arr.reverse()); // [5, 4, 3, 2, 1]
        console.log(arr1.reverse()); // ["d", "c", "b", "a"]

6.concat()
concat() :将参数添加到原数组中。
这个方法会先创建当前数组一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。
在没有给 concat()方法传递参数的情况下,它只是复制当前数组并返回副本。
书写格式:arr.concat(),括号里面写内容 (“字符串要加引号”),

        var arr = [1, 2, 3, 4, 5];
        var arr1 = arr.concat(666, ['a', 'b']);
        console.log(arr1); //[1, 2, 3, 4, 5, 666, "a", "b"]
        console.log(arr); //  [1, 2, 3, 4, 5](原数组未被修改)

7.slice()
方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数。
在只有一个参数的情况下, slice()方法返回从该参数指定位置开始到当前数组末尾的所有项;如果这个参数是负数从0开始。
如果有两个参数,该方法返回起始和结束位置之间的项,但不包括结束位置的项当参数为负数时,负数表示从数组最后一项开始数。
书写格式:arr.slice( 1 , 3 )

        var arr = [1, 2, 3, 'a', 'b', 'c', 666, 777, 888]
        var arr1 = arr.slice(1);
        var arr2 = arr.slice(1, 4);
        var arr3 = arr.slice(1, -2);
        var arr4 = arr.slice(-4, -1);
        var arr5 = arr.slice(-6, -3);
        console.log(arr); //[1, 2, 3, "a", "b", "c", 666, 777, 888](原数组没变)
        console.log(arr1); //[2, 3, "a", "b", "c", 666, 777, 888]
        console.log(arr2); //[2, 3, "a"]
        console.log(arr3); //[2, 3, "a", "b", "c", 666]
        console.log(arr4); //["c", 666, 777]
        console.log(arr5); // ["a", "b", "c"]

8.splice()
对数组进行删除、插入、替换,是最强大的数组方法,返回值是数组,改变原数组。
删除:指定 2 个参数:要删除的第一项的位置和要删除的项数。
书写格式:arr.splice( 1 , 3 )
插入:可以向指定位置插入任意数量的项,只需提供 3 个参数:起始位置、 0(要删除的项数)和要插入的项。
书写格式:arr.splice( 2,0,4,6 )
替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项。插入的项数不必与删除的项数相等。
书写格式:arr.splice( 2,0,4,6 )

        var arr = [1, 2, 3, 'a', 'b', 'c', 666, 777, 888]
        var arr1 = arr.splice(0, 2);
        console.log(arr); //[3, "a", "b", "c", 666, 777, 888]
        console.log(arr1); //[1, 2]
        var arr2 = arr.splice(2, 0, 'x', 'y');
        console.log(arr); // [3, "a", "x", "y", "b", "c", 666, 777, 888]
        console.log(arr2); // []
        var arr3 = arr.splice(1, 1, 111, 222);
        console.log(arr); // [3, 111, 222, "x", "y", "b", "c", 666, 777, 888]
        console.log(arr3); //["a"]

9.indexOf()和 lastIndexOf() (ES5新增)
indexOf():接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的开头(位置 0)开始向后查找。
书写格式:arr.indexof( 5 )
lastIndexOf:接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中, 从数组的末尾开始向前查找。
书写格式:arr.lastIndexOf( 5,4 )
注意:当查找没有结果的时候返回-1。

        var arr = [1, 2, 3, 'a', 'b', 'c', 666, 777, 888,1,2,3]
        console.log(arr.indexOf('a')); //3
        console.log(arr.lastIndexOf(666)); //6
        console.log(arr.indexOf(3, 2)); //2
        console.log(arr.lastIndexOf(1, 2)); //0
        console.log(arr.indexOf(999)); //-1
        console.log(arr.lastIndexOf(999)); //-1

其他方法补充:

  • charAt(num):返回对应字符串索引的内容。
  • charCodeAt(num):返回对应的字符串索引的内容的unicode编码
  • String.fromCharCode(unicode编码):将参数中的编码返回成对应的字符串的内容,多个编码用逗号分隔。
  • split():根据分隔符、将字符串拆分成数组。
  • substring():用来截取字符串的内容
  • substr(start, length):用来截取字符串的内容
  • toUpperCase():转换成大写.
  • toLowerCase():转换成小写.
发布了1 篇原创文章 · 获赞 3 · 访问量 36

猜你喜欢

转载自blog.csdn.net/l_ychee/article/details/104595982
今日推荐