JS 操作数组的方法
- 1.检测数组 (判断一个值是不是数组)
var color = ["red", "green", "blue"];
(1) if (color instanceof Array) {}
(2) if (Array.isArray(value)) {}
- 2.转换方法
var color = ["red", "green", "blue"];
(1) toString()/toLocalString() ,把数组转化为字符串
color.toString() // "red,green,blue"
(2) valueOf()还是返回数组
## 操作数组的方法
- 1.栈方法 push() pop()
- 2.队列方法 shift() unshift() push()
- 3.重排序方法
反转数组 reverse()
排序 sort() (会先调用toString,再将得到的字符串排序)
- 4.操作方法
(1) concat() 连接数组 array1.concat(array2,"2","4") 原数组不变
(2) slice(x1); // 返回从x1位置开始到末尾的一个新数组 原数组不变
slice(x1, x2); // 返回从x1位置开始到x2位置(不包含x2)的一个新数组
var color1 = ["red", "green", "blue", "white"];
var color2 = color1.slice(1,3); // ["red", "white"]
(3) splice(x1, n); // 要删除的第一项的位置x1,要删除的项数n,返回被删除的项
var color1 = ["red", "green", "blue", "white"];
var removed = color1.splice(1,2,"aa","bb");
// removed是 ["green", "blue"]
// color1是 ["red", "aa", "bb", "white"];
- 5.位置方法
(1) indexOf() 返回查找到的位置,没找到返回-1
(2) lastIndexOf()
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.indexOf(4); // 3 从前往后查找
numbers.lastIndexOf(4); // 5 从后往前查找
- 6.迭代方法
every() 对数组每一项运行给定函数,该函数每一项返回true则返回true
some() 对数组每一项运行给定函数,该函数任一项返回true则返回true
filter() 对数组每一项运行给定函数,返回该函数会返回true的项组成的数组
map() 对数组每一项运行给定函数,返回每次函数调用结果组成的数组
forEach() 对数组每一项运行给定函数,没有返回值
- 7.归并方法
reduce() 前向后 和 reduceRight() 后向前