//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"]