数组concat()和slice()方法

//concat()方法,基于当前数组的所有项创建一个新数组,不会改变原数组,可接受参数,参数可以为一个或多个数组,数组和非数组混合也行
var colors = ["red", "green"];
var colors2 = colors.concat("yellow", ["black", "brown"]);
console.log(colors);
console.log(colors2);

//slice方法,基于当前数组中的一个或多个项创建一个新数组,不影响原来的数组,可接受1或者2个参数,即要返回项的起始和结束位置。
//如果只有1个参数,则为该参数所在位置到当前数组的末尾的所有项
//如果有2个参数,则返回其实和结束位置之间的项,但不包括结束位置的项,可理解为[1,3)
var colors3 = ["red", "green", "yellow", "black", "brown"];
var colors4 = colors3.slice(1);
var colors5 = colors3.slice(2, 3);
console.log(colors4);//["green", "yellow", "black", "brown"]    [1, 数组结尾)
console.log(colors5);//["yellow"]    [2, 3)位置
//slice()方法的参数可以为负数,负数则用数组的长度加上该数来确定位置
//如length为5的数组,slice(-2, -1)与调用slice(3, 4)得到的结果相同,如果结束位置小于起始位置,则返回空数组
console.log(colors3.slice(-2, -1));//["black"] 
console.log(colors3.slice(-2, -8));//[] 
console.log(colors3.slice(-8, -3));//["red", "green"] 

 

posted @ 2013-06-07 14:35  金帛  阅读(540)  评论(0编辑  收藏  举报