JavaScript原生对象常用方法总结(推荐)

下面都是我学习W3C School教程中有关JavaScript写的学习笔记,每个方法我都亲身测试过,每个方法的用途和参数列表,我都是在经过我亲身实践后加上了我自己的一点理解,解释的还算比较详细。现记录下来,以便查阅:

javascript之Array类:

创建js数组两种方式:

var arr = [];  或
var arr = new Array();

()里可以指定长度,也可以不指定,指不指定都无所谓,

因为js里的数组长度是可变的

concat(arr1,arr2,arr3......arrx):js数组合并,返回合并后的新数组,至少需要传递一个数组,也可以传递多个数组

var arr1 = new Array(3);  arr1[0] = "George";  arr1[1] = "John";  arr1[2] = "Thomas";  arr1[3] = "Jeery";  var arr2 = new Array(3);  arr2[0] = "James";  arr2[1] = "Adrew";  arr2[2] = "Martin";  var arr3 = new Array(3);  arr3[0] = "Java";  arr3[1] = "C#";  arr3[2] = "PHP";  var arr4 = arr1.concat(arr2,arr3);  alert(arr4); 

join(): 将数组元素按指定的分隔符拼接成一字符串返回,默认分隔符为英文逗号

var arr = new Array(3)  arr[0] = "George";  arr[1] = "John";  arr[2] = "Thomas";  arr[3] = "Jeery";  arr.join("."); 

sort(fn): 数组排序,默认是按英文字母的ASC码升序排列,比如apple排在orange前面,其实

sort还可以接收一个参数,该参数function类型,有点类似于java里的比较器的意思,

就是说如果不想按默认的比较规则来排序,就必须提供一比较函数,该函数有两个参数a、b,

如果返回值小于0,则a排在b前面

如果返回值大于0,则b排在a前面

如果返回值等于0,则a、b位置不变

var arr = new Array(6);  arr[0] = 5;  arr[1] = 23;  arr[2] = 4;  arr[3] = 18;  arr[4] = 88;  arr[5] = 10;  arr.sort(sortNumber);  function sortNumber(a, b)  {  return a - b;  } 

pop():删除数组的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。

如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

var arr = new Array(6);  arr[0] = 5;  arr[1] = 23;  arr[2] = 4;  arr[3] = 18;  arr[4] = 88;  arr[5] = 10;  var a = arr.pop();  alert(a);  for(var x in arr){  alert(arr[x]);  } 

push(n1,n2,n3,....nx):向数组末尾添加一个或多个元素,并返回添加后数组的长度,

注意,此方法操作的是原数组对象,不会创建副本。此方法可以接收多个参数,

至少要传递一个参数

var arr = new Array(6);  arr[0] = 5;  arr[1] = 23;  arr[2] = 4;  arr[3] = 18;  arr[4] = 88;  arr[5] = 10;  var len = arr.push(44,80);  alert(len);  for(var x in arr){  alert(arr[x]);  } 

reverse(): 颠倒数组中元素的顺序,即如果原来数组元素是1,2,3,4,5,调用reverse()后,

元素顺序为5,4,3,2,1,注意,此方法直接操作的是原数组对象,不会创建副本。

var arr = [3,5,11,6,90,0];  arr.reverse();  for(var x in arr){  alert(arr[x]);  } 

shift(): 删除数组的第一个元素,并返回它删除的那个元素

如果数组已经为空,则 shift() 不改变数组,并返回 undefined 值

注意,此方法直接操作的是原数组,不会创建副本对象

var arr = [3,5,11,6,90,0];  var a = arr.shift();  alert(a);  for(var x in arr){  alert(arr[x]);  }

slice(start,end): 用于截取start和end之间的数组元素并存入新数组返回
                 注意,此方法不会修改原数组,会创建数组副本对象。

如果end未指定,则表示直接从start直到数组末尾,

如果start或end为负数,表示从后面开始算起,比如

-1,表示从倒数第一个元素算起,以此类推。

截取的区间范围是[start,end),前闭后开区间,且start必须小于end

如果没找到一个元素,则返回一个空数组即数组的长度为0

var arr = [3,5,11,6,90,0];  var a = arr.slice(2,4);  alert(a.join());  splice(index,howmany,element1,.....,elementX): 

用于删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或

多个值来替换那些被删除的元素,并返回刚刚删除的元素组成的新数组。

注意:此方法是直接操作的原数组对象,不会创建对象副本

第一个参数:表示从index位置开始删除,index从零开始计算

第二个参数:表示从index位置开始,往后连续删除几个元素,前两个参数是必需的,后面的参数是可选的。

后面的参数是用添加的元素,添加的元素从index处开始添加,如果后面添加的元素个数大于

实际删除的元素个数,多出几个,后面的元素就往后移动几位。比如你实际删除了4个元素,

而实际你后面添加了6个元素,那最终会从index处开始添加6个元素,由于前面只删除4个元素,

位置不够,所以后面的元素会自动往后移动2位。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzpfpx.html