1创建数组 数组里可以是任意的数据类型
var arr = [1,"123",true,null,{name:"a",age:"b"},function(){}];
console.log(arr.length);
数组算一种特殊的对象,他的类型时object
console.log(typeof arr);
调用下标的属性值
console.log(arr[2]);
修改
arr[2] = false;
console.log(arr);
当自己定义数组长度时若打于实际数组长度,那么多出来的部分就是null,其次不会显示出来
arr.length = 10;
console.log(arr);
当改变长度的时候,小于实际长度,实际数组多出来的部分会被省略。
arr.length = 3;
console.log(arr);
将某个属性设为只读,不可更改
object.definePropertry(要改变的变量名,"要让哪个属性变为只读",{writable:false});
Object.defineProperty(arr,"length",{writable:false});//ture默认,false只读
第二种创建数组的方式
如果括号内的值是一个的话代表数组长度,如果值以逗号隔开是多个那就正常创建数组里面的内容
var arr2 = new Array(2,5);
console.log(arr2);
数组方法
var arrs = [1,2,3,4,5,6,7,8,9,22,55];
添加方法
push()数组末尾添加一个或多个
arrs.push("快手");
console.log(arrs);
unshift()
arrs.unshift("抖音");
console.log(arrs);
删除方法
pop() 在数组结尾进行删除
arrs.pop();
console.log(arrs);
shift() 在数组开头进行删除
arrs.shift();
console.log(arrs);
splice (删除位置的下标,删除几位)指定位置删除
arrs.splice(0,1);
console.log(arrs);
splice(起始位置的下标,删除项不删除写0,添加的值)指定位置添加
arrs.splice(2,0,"哈哈哈");
console.log(arrs);
截取
splice赋给新数组就是截取
splice(开始位置的下标,截取几位)
var newarrs = arrs.splice(2,3);
console.log(newarrs);
indexOf()数组去重,
console.log(arrs.indexOf(9));//打印结果为6 第一个9的下标
console.log(arrs[6]);
join数组转字符串
console.log(arrs.join("|"));
reverse()反转数组
console.log(arrs.reverse());
concat()连接两个或多个数组
var newarr = arrs.concat(newarrs,arr2);
console.log(newarr);
sort()用来排序,但是此方法如果当前数组的值之间范围差距较大的时候,会发生排序错乱的情况
console.log(arrs.sort());
ilter(方法名)过滤
function fun(x){
return x>50;
}
console.log(arrs.filter(fun));
var l = [{user:"wa",age:8},{user:"oo",age:88},{user:"khkh",age:55}];
for(var i = 0;i<l,length;i++){
console.log(l[i].user);
}
多维数组
var m = [1,[2,[4,[5]]]];
console.log(m[1][1][1]);