数组属性、方法
一、数组属性
数组的属性有三种:
1.length,设置货返回数组子元素的个数。
2.constructor, 返回创建数组对象的原型函数,即function Array(){}。
3.prototype,向数组设置或者添加属性和方法。
var arr = [1,'a','哦'];
console.log(arr.length);
console.log(arr.constructor);
arr.length = 2;//改变数组长度
console.log(arr);
二、数组方法
以下方法会改变原数组
1.pop方法:将数组的最后一位剪切并返回,且无法传参
var arr = [1,2,3,4];
var num = arr.pop();
console.log(arr);
console.log(num);
2.shit/unshit方法:删除并返回数组的第一个元素/向数组的开头添加一个或更多元素,并返回新的长度
var arr1 = [1,2,3,4];
var num = arr1.shift(0);//传不传参没有影响
console.log(num);//shift会返回删除的子元素
console.log(arr1);
var arr2 = [5,6,7,8];
var num = arr2.unshift(4.8,4.9);//将参数添加开头
console.log(num);//unshift会返回新数组的长度
console.log(arr2);
3.reverse方法:返回逆反一个数组后
var arr1 = [1,2,3,4];
var arr2 = arr1.reverse();
console.log(arr2);
4.splice方法:添加或删除数组中的元素
arr.splice(从哪开始截取,截取多少个,截取后增加…)
var arr1 = [1,3,5];
var arr2 = arr1.splice(0,1,0,2);
//从0位开始,即在arr1中1的前面开始切口子,截取了一位(1)返回,然后添加了0,2
console.log(arr1+'\n'+arr2);
5.sort方法:数组排序
var arr1 = [3,1,5,2];
arr1.sort();//sort默认按(ASK码)排序
console.log(arr1);
如果想规定正/倒序:
var arr1 = [4,1,7,3];
var arr2 = [4,1,7,3]
arr1.sort(function (a,b){//这个函数系统会自动执行,用的是冒泡排序法
return a-b;//如果返回正数,将参数里后者放前面,这里即为升序
});//这里返回a-b,系统会自动拿数组里从前往后两两对比
arr2.sort(function(a,b){
return b-a;//如果返回负数,将参数里前者放前面,这里即为倒序
//为0则保持不动
});
console.log(arr1);
console.log(arr2);
那么这里如果面试时让你把一个有序数组变成乱序?
var arr1 = [1,2,4,5,6];
arr1.sort(function(a,b){
return Math.random() - 0.5;//只要返回的值的是正负,不拘于形式
});//sort默认按(ASK码)排序
console.log(arr1);
6.push方法:向数组的末尾添加一个或多个元素,并返回新的长度
var arr = [1,'a','呵'];
var num = arr.push(2,'b');
console.log(num+'\n'+arr)
以下方法不改变原数组
1.concat方法:连接两个或多个数组
var a = [1];
var b = [2];
var c = [3];
var arr = c.concat(b,a);
console.log(arr);
二.toString方法:把数组转换为字符串,并返回结果。
var arr = [1,'a'];
console.log(arr.toString());//由于日常很少用到的方法
Array.prototype.toString = function (){//就可以用前章讲的方法的重写
return 123;//实现自己需要的功能
};
console.log(arr.toString());
三.slice方法:选取数组的的一部分,并返回一个新数组。
var arr = [1,2,3];
var n = arr.slice(1,2);//从(index)1开始,即arr中2的前面开始;到(index)2,即3的前面(不包括3)
//如果想得到某个数组的后面一块,需要arr.slice(x,arr.length)
console.log(n);
四.join方法:把数组中的所有元素通过指定的分隔符进行分隔。
var arr1 = [1,2,3,4];
var n = arr1.join('_');//用-连接成字符串
var m = arr1.join();//不传参,使用逗号作为分隔符。
console.log(n);
console.log(m);
//这里将一个字符plitf方法
var arr2 = n.split();//一个字符串分割成字符串数组
var arr3 = m.split('-');
console.log(arr2);
console.log(arr3);
这里讲解一个案例(了解):
var str1 = 'aa',//字符串是原始值(栈)
str2 = 'bb',
str3 = 'cc';
var arr = [str1,str2,str3];//数组是引用值(堆),这里利用散列,使得代码效率更高
arr.join('');//再分割成字符串
博主开始运营自己的公众号啦,感兴趣的可以关注“飞羽逐星”微信公众号哦,拿起手机就能阅读感兴趣的博客啦!