1.检测数组的方法:Array.isArray()
这个方法的目的是最终确定某个值到底是不是数组,而不管它是在哪个全局执行环境中创建。
2.转换方法
toString():返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串
valueOf():返回的还是数组
toLocaleString():创建一个数组值的以逗号分开的字符串
join():使用不同的分隔符来构建这个字符串,只接收一个参数,即用作分隔符的字符串
eg:
var colors = ["red", "blue", "green"];
alert(colors.toString()); //red,blue,green
alert(colors.valueOf()); //red,blue,green
alert(colors.join("||")); //red||blue||green
3.栈方法
push():可以接受任意数量的参数,把它们逐个添加到数组的末尾,并返回修改后数组的长度。
pop():从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
eg:
var colors = ["red", "blue"];
colors.push("brown");
colors[3] = "black";
alert(colors.length); //4
var item = colors.pop();
alert(item); //"black"
4.队列方法
shift():能够移除数组中的第一项并返回该项,同时数组长度减1
unshift():可以在数组前端添加任意个项并返回新数组的长度
shift()和push()------unshift()和shift()模拟队列一样使用数组
eg:
var colors = new Array();
var count = colors.unshift("red", "green");
alert(count); //2
count = colors.unshift("black");
alert(count); //3
var item = colors.pop();
alert(item); //black
alert(colors.length); //2
5.重排序方法
reverse():反转数组项的顺序
sort():按升序排列数组项
eg:
var values = [0, 1, 5, 10, 15];
alert(values.reverse()); //15,10,5,1,0
alert(values.sort()); //0,1,10,15,5测试字符串的结果来排序,每个数组项调用toString()方法转型
6.操作方法
1>concat(“”,“”):将两个数组连接起来
2>slice():返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之前的项------但不包括结束位置的项。不会影响原始数组
3>splice():
删除:两个参数,要删除的第一项的位置和要删除的项数。splice(0,2)会删除前面两项
插入:三个参数,起始位置,要删除的项数,要插入的项。
splice(2,0,"red","green")从位置2开始插入red,green
替换:三个参数,起始位置,要删除的项数,插入任一项。插入与删除项数可以不相等
splice(2,1,"red","green")删除第二个位置并插入red,green
7.位置方法
indexOf():从数组头开始开始向后查找
var str="Hello world!"
document.write(str.indexOf("Hello") + "
")//0
document.write(str.indexOf("World") + "
")//-1
document.write(str.indexOf("world"))//6
lastIndexOf():从数组末尾开始向前查找
都有两个参数:要查找的项,(可选)查找的起始位置的索引。没有找到返回-1
8.迭代方法
every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true
some():对数组中的每一项运行给定函数,如果该函数符任一项都返回true,则返回true
filter():对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组
foreach():对数组中的每一项运行给定函数,这个方法没有返回值,本质上与for一致
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
9.归并方法
都会迭代数组所有项,然后构建一个最终返回的值
reduce():从数组第一项开始,逐个遍历到最后
reduceRight():从数组的最后一项开始,向前遍历到第一项
都接收两个参数:在每一项上调用的函数,(可选)作为归并基础的初始值
传给他们的函数接收四个参数:前一个值,当前值,项的索引,数组对象。这个函数返回的任何值都会作为第一个参数自动传给下一项。第一次迭代发生在数组的第二项上,因此第一个参数作为第一项,第二个参数作为第二项。
eg:
var values = [1, 2, 3, 4, 5];
var sum =values.reduce(function(pre, cur, index, array){
return pre+cur;
});
alert(sum); //15可求数组中所有值之和