一、JS数据类型
ECMAScript中有5种简单数据类型(也称基本数据类型):Undefined、Null、Boolean、Number、String
还有一种复杂数据类型:Object(本质上由一组无序的名值对组成)
二、 数组方法:
1、 转换方法:
toLocaleString()、toString()、valueOf()、join()
调用数组的toString()方法会返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。
而调用valueOf()返回的是数组。
toLocalString()经常与前两项返回相同的值,但也不总是如此。不同之处在于,它是为了取得每一项的值,调用的是每一项的toLocalString()方法,而不是toString()方法。
join()方法,可以使用不同的分隔符来构建字符串。
2、 栈方法
push()、pop()
栈是一种LIFO(Last-In-First-Out)后进先出的数据结构,也就是最新添加的项最早被移除。
push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
pop()方法则从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
3、 队列方法
shift()、unshift()
队列数据结构的访问规则是FIFO(First-In-First-Out)先进先出。
shift()能够移除数组中的第一个项并返回该项,同时将数组长度减1。
unshift()能够在前端添加任意个项并返回新数组的长度。
4、 重排序方法
reverse()、sort()
reverse()方法会反转数组的顺序
sort()方法按升序排列数组项
5、 操作方法
concat()、slice()、splice()
concat()方法可以基于当前数组中的所有项创建一个新数组。具体来说,这个方法会创建当前数组的一个副本,然后将接收到的参数添加到这个副本的末尾,最后返回新构建的数组。
slice()基于当前数组中的一个或多个项创建一个新数组,可以接受一个或两个参数
注:如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。如果结束位置小于起始位置,则返回空数组。
splice()有三种用法:
(1) 删除:splice(0,2)会删除数组中的前两项
(2) 插入:splice (2,0,”red”,”green”)会从当前数组的位置2开始插入字符串”red”,”green”
(3) 替换:splice(2,1,”red”,”green”)会删除当前数组位置2的项,然后再从位置2开始插入字符串”red”、”green”
6、 位置方法
indexOf()、lastIndexOf()
这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。indexOf()方法从数组的开头(位置0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。
7、 迭代方法
every()、filter()、forEach()、map()、some()
every()和some()
filter()
map()
forEach()
8、 归并方法
reduce()、reduceRight()
这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。其中,reduce()方法从数组的第一项开始,逐个遍历到最后。而reduceRight()则从数组的最后一项开始向前遍历到第一项。
这两个方法都接收两个参数:一个在每一项上调用的函数和(可选的)作为归并基础的初始值。
传给reduce()和reduceRight()的函数接收4个参数:前一个值,当前值,项的索引和数组对象。每个函数返回的任何值都会作为第一个参数自动传给下一项。
reduceRight()是一样的,只不过是从后向前遍历。