数组可以保存多个数据,包括另一个数组和对象,很多时候我们都会对数组进行操作(增删改查),所以这时候一些方便的数组方法就显得尤为重要.
var arr = [10, 20, 30, 40, 50]; //使用Array.isArray(数组名) 来判断数据是否为数组 console.log(Array.isArray(arr));// true //使用 数组名 instanceof Array 来判断 //此方法也可以判断数据是否为别的数据类型,只需要把后面的Array改成对应数据类型名称即可 console.log(arr instanceof Array);// true
1.使用for循环去遍历数组:
var arr = [`卢本伟`,`PDD`,`孙亚龙`] //通过数组.length的方式就可以得到数组的长度(数组中元素的个数) //利用数组的length就可以进行数组元素的遍历 for (var a = 0; a < arr.length; a++) { console.log(arr[a]); // 卢本伟 PDD 孙亚龙 //打印数组里面的每一项数据 }
2.使用forEach语句遍历数组:
var arr = [`卢本伟`, `PDD`, `孙亚龙`] //forEach语句里面会跟三个参数,分别代表数组的每一项(e),对应的索引号(i)和数组本身(a) arr.forEach((e, i, a) => { console.log(e, i, a); // 卢本伟 0 ['卢本伟', 'PDD', '孙亚龙'] // PDD 1 ['卢本伟', 'PDD', '孙亚龙'] // 孙亚龙 2 ['卢本伟', 'PDD', '孙亚龙'] })
3.jQuery中的$.each遍历数组
var arr = [`卢本伟`, `PDD`, `孙亚龙`] // 小括号里面跟两个参数,要遍历的数组和一个回调函数 // 函数的两个形参分别代表元素的索引(i),索引对应的元素(e) $.each(arr, (i, e) => { console.log(i,e); })
4.some方法遍历数组:
//some方法可以遍历数组并且查找数组中是否有满足条件的元素 var arr = [10, 20, 30, 40, 50]; var flag = arr.some((e, i, a) => { //参数一是:数组元素(e) //参数二是:数组元素的索引(i) //参数三是:数组本身(a) return e < 10 }) console.log(flag); // false //some返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环
5.filter方法遍历数组:
//filter方法会遍历数组,然后查询满足条件的元素,并返回一个新数组 var arr = [10, 20, 30, 40, 50]; var newArr = arr.filter((e, i, a) => { //参数一是:数组元素(e) //参数二是:数组元素的索引(i) //参数三是:数组本身(a) return i > 20 }) console.log(newArr); //[30, 40, 50] //filter方法返回值是一个新数组
1.使用push给数组添加元素(常用)
var arr = [1, 2, 3] arr.push(4)// 可以添加一个元素 arr.push(5, 6) //也可以添加多个元素,使用逗号隔开 console.log(arr.push(7)) //push方法的返回值就是添加成功之后数组的长度,打印的是7 console.log(arr)// [1,2,3,4,5,6,7]
2.使用unshift方法给数组条件元素
var arr = [1, 2, 3] arr.unshift(4)// 可以添加一个元素在所有元素的前面 arr.unshift(5, 6) //也可以添加多个元素 console.log(arr.unshift(7)) // push方法的返回值就是添加成功之后数组的长度,打印的是7 console.log(arr);// [7, 5, 6, 4, 1, 2, 3]
3.splice() 方法向数组添加元素(麻烦)
var arr = [1, 2, 3, 4] //splice(i, h, e1, e2...) splice方法里面有三个参数 //i 必选,根据索引规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 //h 必选,要删除的项目数量,如果设置为0,则不会删除项目。 //e 可选,要添加的新数据,多个之间用逗号隔开。 //使用arr.length可以直接获得数组的长度,往数组最后添加元素 arr.splice(arr.length, 0, 5, 6, 7) console.log(arr);[1, 2, 3, 4, 5, 6, 7] arr.splice(2, 0, 4, 5, 6) console.log(arr);//[1, 2, 4, 5, 6, 3, 4]
此方法不仅可以添加数据,还可删除从索引处开始的零个或多个元素,并且用参数列表(e)中声明的一个或多个值来替换那些被删除的元素。
如果从数组中删除了元素,则返回的是含有被删除的元素的数组。
var arr = [1, 2, 3, 4, 7, 8, 9] //从索引为2的元素开始删除三个元素,并且用4,5,6替换他们 console.log(arr.splice(2, 3, 4, 5, 6));//[3, 4, 7] console.log(arr);// [1, 2, 4, 5, 6, 8, 9]
4.使用 数组.length 添加元素(没十年脑血栓一般不会用这个办法)
var arr = [1, 2, 3, 4] //数组的长度是按照元素的数量计算,而索引从零开始计算 //所以直接console.log(arr[arr.length]);得到的一定是undefined //但是可以使用这个方法直接给数组添加元素 arr[arr.length] = 5 console.log(arr); [1, 2, 3, 4, 5]