创建数组的方式有两种:new Array()、字面量创建数组 1、new Array()创建数组 var arr = new Array(1,2,3,4,4,5,5,6) var arr1 = new Array(10) // 当只添加一个元素时,会将该元素作为长度 2、字面量创建数组 var arr3 = [] arr3[0] = '1' arr3[1] = '1' arr3[2] = '1' var arr4 = [1,2,3,4] 3、数组的length属性 4、数组的in操作符 5、数组遍历: 1、for 2、forEach 3、for..in 4、map 6、数组的方法 join() // 将数组转换成字符串,参数是字符串的连接字符 push()和pop() // 数组尾部添加、删除 shift()和unshif() // 数组头部删除及添加 sort()和reverse() // 数组正序和倒叙 concat() // 创建一个新数组,将参数添加到原数组的末尾并返回 slice() // 返回从原数组中指定开始下标到结束下标之间的项组成的新数组 splice() // 删除、插入和替换 indexOf和lastIndexOf() // 查找数组中的某一项,找不到返回-1 filter() // 检测数值元素,并返回符合条件所有元素的数组。 find() // 返回符合传入测试(函数)条件的数组元素。 forEach() // 数组遍历 map() // 指“映射”,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组 filter() // “过滤”功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组 every() // 判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true some() // 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true 7、数组去重 1、利用ES6 set方法去重 function fetchData(arr) { return Array.form(new set(arr)) } var arr = [1,2,3,3,12,5,6,7] console.log(fetchData(arr)) 2、使用indexOf去重 在使用split函数切割一个以空格为分隔符的字符串时,发现切出的长度和预期的长度不一致!! 复制代码
let str = “hellow world!” //注意hellow与world之前有两个空格 console.log(str.trim().split(" “)) console.log(str.trim().split(” “).length)
结果为【“hellow”,“ ”,“world!” 】
而我们希望的结果是hellow和world,长度为2
此时,应该用正则表达式来进行切割
let str = “hellow world!” //注意hellow与world之前有两个空格 console.log(str.trim().split(/\s+/)) console.log(str.trim().split(/\s+/).length)
结果为【“hellow”,“world!" 】