首先说明一下js中对象类型: JS函数对象与原型
typeof 用来判定目标是什么类型。
【1】数组创建
数组下标,index是从 0开始的。
var array=new Array();//创建一个空数组
var array=new Array(10);创建一个length为10的空数组
var arry = [0,1];//number数组
var arry1 = ['2','3'];//string 数组
var arry2 = ["2","3",true];//string和boolean 数组
【2】数组添加
index从0开始,index依次增加。
array.push(0);
array.push(1);
arry.push(2);//放入number 2
arry.push('3');//放入string 3
这是数组是依次在后面添加,index依次递增。值得注意的是,这时候在页面alert数组,看到的是 0,1,2,3。但是这里的3是字符串,非number!
使用$.inArray(3 ,arry);
将会弹出 -1 。
使用$.inArray("3" ,arry);或$.inArray('3' ,arry);
将会弹出 3 。
在指定index添加元素
在指定 index 处开始添加 item1,…,itemx 。
arrayObject.splice(index,0,item1,.....,itemX);
//第二个参数一定为0!!!
arry.splice(3,0,7);
alert(arry);//0,1,2,7,3;
【2】从数组中删除元素
splice()
方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
arrayObject.splice(index,howmany,item1,.....,itemX)
测试代码
arry.splice(2);
//删除从index=2开始以后的所有元素,包括index=2
arry.splice(2,1);
//删除index=2的元素
arry.splice(2,2);
//删除index=2开始以后的两个元素,包括index=2
【3】修改数组元素
splice()
方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
- 这时候第三个参数列表一定不能为空
arrayObject.splice(index,howmany,item1,.....,itemX)
测试代码
arry.splice(2,1,8);//将index=2的一个元素替换为8;
arry.splice(2,2,8);//将index=2开始以后的两个元素替换为8,包括index=2;
【4】查找数组中的某个元素
① 知道下标获取值
var element = arry[index];
② 知道值获取下标
var index = $.inArry(element,arry);
【5】join方法
join() 方法将数组的所有元素组成一个字符串。
var str = arry.join();
alert(typeof str+", "+str);
以指定分隔符组成字符串:
var str = arry.join('.');
alert(typeof str+", "+str);
无分隔符的字符串:
var str = arry.join("");
alert(typeof str+", "+str);
【6】ES6中对数组的操作
这里假设array=[1,2,3…]这样的数组。
① 判断数组中是否包含某个元素
includes方法判断数组是否包含某个元素,返回true or false
array.includes(data)
② findIndex获取数组中某个元素的索引
let findIndex = array.findIndex(function(data) {
return data == 某个值;
});
③ splice删除某个元素
array.splice(array.findIndex(item => item == 某个值), 1)