JavaScript中的数组操作介绍
JavaScript中的数组对象自带了一些方法,可以通过使用这些方法来对数组进行操作。
join()
可以使用join()方法将数组中的成员合并到一个字符串中:
varo=[1,2,3]; console.log(o.join());//1,2,3 console.log(o.join(""));//123 varemptyArray=newArray(10); console.log(emptyArray.join("-"));//----------
从上面的例子中可以看到,如果join()方法不带参数,那么JavaScript会用逗号作为分隔符将所有的成员合并到一个字符串中;如果join()方法接受参数,那么这个参数会作为分隔符来使用。
reverse()
可以使用reverse()方法将数组中的成员顺序进行颠倒:
//reverse() o.reverse(); console.log(o);//[3,2,1]
可以看到,调用reverse()语句后,数组自身将发生改变。
执行reverse()语句的返回结果为发生改变后的数组对象。
sort()
可以使用sort()方法对数组中的成员进行排序(默认以字母顺序排列)。与reverse()语句一样,sort()语句会对数组自身进行修改并返回修改后的数组对象:
vara=["Phone","Mobile",,,"Canon"]; a.sort(); console.log(a);//["Canon","Mobile","Phone",undefined,undefined] varb=[33,44,111]; console.log(b.sort());//[111,33,44] console.log(b.sort(function(a,b){returna-b}));//[33,44,111]
可以看到,sort()语句还接受一个function作为参数来实现自定义排序。
concat()
可以使用concat()方法对数组进行拼接:
varc=[1,2,3]; console.log(c.concat(4));//[1,2,3,4] console.log(c.concat(5,6));//[1,2,3,5,6] console.log(c.concat([7,8]));//[1,2,3,7,8] console.log(c.concat([9,10],[11,12]));//[1,2,3,9,10,11,12] console.log(c.concat([42,43,[44,45]]));//[1,2,3,42,43,[44,45]] console.log(c);//[1,2,3]
可以看到,与reverse()和sort()不同,concat()语句仅仅只是返回拼接后的结果而已,对数组自身不会产生任何修改。
slice()
可以使用slice()语句来获取数组中的子数组(sub-array):
vard=[1,2,3,4,5,6]; console.log(d.slice(0,3));//[1,2,3] console.log(d.slice(3,1));//[]
与concat()一样,slice()语句仅仅只是返回操作后的结果而已,对数组自身不会产生任何修改。对于slice()语句中的两个参数,JavaScript遵循“前包括后不包括”的原则:第一个参数所指定的数组成员会出现在子数组中,而第二个参数所指定的数组成员则不会出现。
splice()
可以使用splice()语句来对数组进行插入和敲除操作。其第一个参数指定插入或敲除的位置(位置成员),第二个参数指定敲除成员的数目(从位置成员开始敲除),从第三个参数开始,所有的参数都会被插入到数组中(从位置成员之前进行插入)。splice()语句返回的结果为被敲除的数组成员所组成的数组。与concat()和slice()不同,splice()会对数组自身产生修改。
vare=[1,2,3,4,5,6,7]; console.log(e.splice(1,2));//[2,3] console.log(e);//[1,4,5,6,7] console.log(e.length);//5 e.splice(1,0,2,3,[4,5]); console.log(e);//[1,2,3,[4,5],4,5,6,7]