javaScript的Array方法

仅个人总结

声明方法:

var arr = new Array();
var arr = new Array(1,2,3,4,5);
var arr = new array(size);//当为一个参数且为数字是,为声明数组长度。
var arr = [];
var arr= [1,2,3,4,5]

Array对象属性方法:

length:设置或返回数组中元素的数目,即数组长度;
prototype:数组的原型链,可以在原型链上添加属性和方法;
constructor:用的少,返回对创建此对象的数组函数的引用。

Array对象方法:

concat():两个数组拼接,不改变原数组,合并成一个新的数组。
    var a = [1,2,3],b = [4,5,6];var c = a.concat(b);
    console.log(a);//[1,2,3]
    console.log(b);//[4,5,6]
    console.log(c);//[1, 2, 3, 4, 5, 6]
注,谁写前面谁的数组对象内容就在前面。
附加:concat会进行一次数组转换,a.concat(4);输出[1,2,3,4];
join(): 将数组默认按照逗号的方式凭借为字符串;
    var a = [1,2,3];
    var str = a.join();
    console.log(str);//1,2,3
    var str = a.join('-');//自定义分割方式
    console.log(str);//1-2-3
注:字符串的split()可以将字符串转化为数组,括号内为自己定义的分割方式。

 

pop(): 删除并返回数组最后一个元素;
    var a = [1,2,3];
    var c = a.pop();
    console.log(a);//[1,2]
    console.log(c);//3

 

shift(): 删除并返回数组的第一个元素,和pop()雷同;pop删末尾,shift删前面

 

push(): 向数组末尾添加数,不限制个数,这点有点和concat相同,但不属于数组拼接,写数组会被当成一个数处理;并返回数组长度;
    var a = [1,2,3];var len = a.push(5);
    // a = [1,2,3,5];len = 4;
    var a = [1,2,3];var len = a.push(5,6);
    // a = [1,2,3,5,6];len = 5;
    var a = [1,2,3];var len = a.push([5,6]);
    // a = [1,2,3,[5,6]];len = 4;

 

unshift(): 向数组的开头添加一个或更多元素,并返回新的长度。和push()雷同;push在后,unshift在前

 

reverse(): 将数组进行翻转、颠倒;
    var a = [1,2.3];var c = a.reverse();
    // a = [3,2,1];c = [3,2,1];

 

slice():  从数组选择指定范围的数组成新数组并返回;选择区间属于半开半闭区间;前包含后不包含;
      例slice(2,4)相当于 [2,4);从下标2开启取到下标4,但不包含下标4。 var a = [1,2,3,4,5,6];var c = a.slice(2,4); // a = [1,2,3,4,5,6]; c = [3,4];

 

splice(): 删除元素,并向数组添加新元素。array.splice(起始下标,删除数量,新添加的数组元素);可以填三个参数,
      第一个参数必填,后面两个选填,第二个参数不填默认第一个定义参数下标后面全部删除;
      当然三个参数都不填也可以,只是没效果而已,不会报错。
var a = [1,2,3,4,5,6];var c = a.splice(2) // a = [1,2];c = [3,4,5,6]; var a = [1,2,3,4,5,6];var c = a.splice(2,2) // a = [1,2,5,6];c = [3,4]; var a = [1,2,3,4,5,6];var c = a.splice(2,2,9) // a = [1,2,9,5,6];c = [3,4];\ var a = [1,2,3,4,5,6];var c = a.splice(2,2,'a','a','a') // a = [1,2,'a','a','a',5,6];c = [3,4]; var a = [1,2,3,4,5,6];var c = a.splice(2,2,[9,9]) // a = [1,2,[9,9],5,6];c = [3,4];

 

sort(): 对数组进行排序,如果是字符串,默认按AscII进行排序;
    var a = [4,3,7,2,6]; var c = a.sort();
    //  a = [2, 3, 4, 6, 7];c = [2, 3, 4, 6, 7];
    var a =[3,5,6,'10','21', '22', '33']; var c = a.sort();
    //  a = ["10", "21", "22", 3, "33", 5, 6];c = ["10", "21", "22", 3, "33", 5, 6];
注:json无法直接sort排序
    var a =[{id:9,name:'张三'},{id:6,name:'李四'},{id:8,name:'王五'}];
    var c = a.sort(function(a,b){ return a.id-b.id;});
     //  a = [{id:6,name:'李四'},{id:8,name:'王五'},{id:9,name:'张三'}];

 

toString(): 将数组直接转化为字符串;不能加入参数
    var a = [1,2,3];var c = a.toString();
    // a = [1,2,3]; c = 1,2,3;
注 json中有个JSON.stringify();方法也可转字符串,不过有点区别;
    var a = [1,2,3];var c = JSON.stringify(a);
    // a = [1,2,3]; c = '[1,2,3]';

 

toLocaleString(): 把数组转换为本地数组,并返回结果。和toString()雷同;
          一般情况下使用toString,带类型的使用toLocaleString,例如时间。

 

valueOf(): 返回数组对象的原始值;可以用于判断对象原型。用的不多,不介绍。

 

 

toSource(): 返回对象的源代码,只有火狐浏览器能用,兼容性差。还是算有点用,但是属于没法用,如果实在需要用自己做一个兼容处理,不过多介绍。

 

 

ES6 新增:

 今天先写到这,后面再慢慢补

posted @ 2019-11-07 14:39  xzy_choose  阅读(272)  评论(0编辑  收藏  举报