操作方法:
1、concat() 方法可以基于当前数组中的所有项创建一个新数组。具体来说,这个方法会
先创建当前函数的一个副本,然后就接收到的参数添加到这个副本的末尾,最后返回
新构建的数组。
var colors=["red","green","blue"];
var colors2=colors.concat("yellow",["black","brown"]);
alert(colors2); //["red","green","blue","yellow","black","brown"]
alert(colors); //["red","green","blue"];
2、slice()方法能够基于当前数组中的一个或多个创建一个新数组。该方法可以接收一个
或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,slice()方法返回从
参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置
之间的项——但不包括结束位置的项。注意,slice()方法不会影响原始数组。
var colors=["red","green","blue","yellow","black","purple"];
var colors2=colors.slice(1);
var colors3=colors.slice(1,4);
alert(colors2); //["green","blue","yellow","black","purple"]
alert(colors3); //["green","blue","yellow"]
注意:如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相对应的位置。例如,
在一个包含5项的数组上调用slice(-2,-1)与调用slice(3,4)得到的结果相同。如果结束位置小于起始
位置,则返回空数组
3、splice()方法,该方法有多种用法,主要用途是向数组的中部插入项
(1)删除:可以删除任意数量的项,只需指定2个参数:要删除的第一个项的位置和要删除的项数。
splice(0,2)会删除数组的前两项
(2)插入:可以向指定位置插入任意数量的项,只需要提供三个参数:起始位置、0(要删除的任意项数)
和要插入的的项。如果要插入多个项,可以再传入第四个、第五个以至任意多个项。例如splice(2,0,"red","green")
会从当前的数组的位置2开始插入字符串"red","green"
(3)替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项。只需要指定3个参数:起始位置、要删除的项
数和要插入的任意数量的项。插入的项数不必与删除的项数相等。
splice()始终会返回一个数组,该数组包含从原始数组中删除的项(如果没有删除任何项,则返回一个空数组)
var colors=["red","green","blue"];
var removed=colors.splice(0,1);
alert(colors); // ["green","blue"]
alert(removed); //["red"]
removed=colors.splice(1,0,"yellow","orange");
alert(colors); //["green","yellow","orange","blue"]
alert(removed); //空数组
removed=colors.splice(1,1,"red","purple");
alert(colors); //["green","red","purple","orange","blue"]
alert(removed); //["yellow"],返回的数组中只包含一项
位置方法:
indexOf()和lastIndexOf()。这两个方法都接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,
index()方法从数组的开头(位置0)开始查找,lastIndexOf()从数组的末尾开始向前查找。
这两个方法都返回要查找的项在数组中的位置,或者在没找到的情况下返回-1.
var numbers=[1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4)); //3
alert(numbers.lastIndexOf(4)); //5
alert(numbers.indexOf(4,4)); //5
alert(numbers.lastIndexOf(4,4)); //3