数组的原生方法

来源:互联网 发布:淘宝频现违规刀具 编辑:程序博客网 时间:2024/06/03 17:19

数组在JavaScript中的应用十分之频繁,所以我做了一些笔记,方便以后看看

push()

定义和用法

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
注意: 新元素将添加在数组的末尾。
注意: 此方法改变数组的长度。

push()方法是在数组的末尾添加一个数,并返回修改数组后的长度

            var arr=[1,2,3];            var arr1=arr.push(4);            alert(arr);//1,2,3,4            alert(arr1);//4 返回的length为4

pop()

pop()方法是在数组的末尾删除一个数,减少length的长度,并返回移除的项

            var arr=[2,3,5];            var arr1=arr.pop();//5 返回移除的项            alert(arr);//2,3            alert(arr1);//5

shift()

shift()的作用是删除数组的第一项,并且返回被移除的数

            var arr=[1,2,3];            var arr1=arr.shift();            alert(arr);//2,3 数组的第一项被移除            alert(arr1);//1 返回被删除的数

unshift()

unshift()是在数组的头部添加一项,返回的是数组的长度。

            var arr = [1, 2, 3];            var arr1 = arr.unshift(4);            alert(arr); // 4,1,2,3 向数组的头部添加了一项            alert(arr1); //4  返回的是数组的length

sort()

定义和用法

sort() 方法用于对数组的元素进行排序。 排序顺序可以是字母或数字,并按升序或降序。 默认排序顺序为按字母升序。
注意:当数字是按字母顺序排列时”40”将排在”5”前面。 使用数字排序,你必须通过一个函数作为参数来调用。
函数指定数字是按照升序还是降序排列。

            var arr=['t','a','b','h','j'];            var arr1=[45,12,3,7,67];            alert(arr.sort());//a,b,h,j,t //字母按顺序排序            alert(arr1.sort());//12,3,45,67,7 //数组按第一位大小进行排序

那么如何进行数字之间的排序呢?

            var arr1 = [45, 12, 3, 7, 67];            var arr2 = arr1.sort(function(n1, n2) {                if(n1 < n2) {                    return -1;                } else if(n1 > n2) {                    return 1;                } else {                    return 0;                }            });            alert(arr2);//3,7,12,45,67 

还有一种更加简单的写法,既然返回的数是负数,0,正数,那么将两个数相减也可以得到同样的效果。

            var arr1 = [45, 12, 3, 7, 67];            var arr2 = arr1.sort(function(n1, n2) {                return n1-n2;//如果n1<n2那么就返回负数,n1=n2就返回0,n1>n2便返回正数。            });            alert(arr2);//3,7,12,45,67 

reverse()

reverse() 方法用于颠倒数组中元素的顺序。

            var arr=[1,2,3,4,5];            alert(arr.reverse());//5,4,3,2,1

concat()

concat() 方法用于连接两个或多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

            var arr1=[1,2];            var arr2=[3];            var arr3=[4,5];            alert(arr1.concat(arr2,arr3));//1,2,3,4,5

slice()

slice() 方法可从已有的数组中返回选定的元素,这个方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

            var arr=[1,2,3,4,5];            alert(arr.slice(2,4));//3,4

slice() 方法不会改变原始数组。

splice()

splice() 方法用于插入、删除或替换数组的元素,这个方法会改变原始数组。返回值是被移除的数。

            var arr=[1,2,3,4,5];            arr.splice(2,2,8);//第一个参数是从这个位置开始移除,第二个参数是移除多少个,如果设置为0就是不移除,第三个参数就是要插入的数,也可以不填,就是不插入            alert(arr);//1,2,8,5

indexOf()和 lastIndexOf()

indexOf()用于查询数组里面的项,可以接收两个参数,第一个是要查询的项,第二个是从哪个位置开始查询(可选)

            var arr=[1,2,3,4,5];            alert(arr.indexOf(3));//2 也就是3这个项目出现的位置是第2位,

lastIndexOf()就是从后往前找,和indexOf()差不多,都可以接收俩个参数

            var arr=[1,2,3,4,5,6,7,8];            alert(arr.lastIndexOf(3));//2 从末尾开始查找 

两个方法都会返回项的位置,如果找不到就会返回-1。

join(参数)

这个方法能把数组变成字符串,只接受一个参数或者不接受参数,也就是分隔符。

            var arr=[2,3,4];            var arr1=arr.join('-');//参数要用括号包裹            var arr2=arr.join();//没有参数            alert(arr1);//2-3-4            alert(arr2);//2,3,4  这是一个字符串            aler(arr);//2,3,4 原数组不受影响,这是个数组。

以上是我学习的笔记,还有一些数组的原生方法没有补充,就先这样吧!