持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第29天
创建数组的方式有两种: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!" 】