数组方法
slice(剪裁方法(返回新数组,不影响原来的数组)(浅拷贝)
(1)无参:如果不传入参数的情况下, silce()方法返回完整的数组
(2)1个参数:在只有一个参数的情况下,slice()方法返回从该参数指定位置开始到当前数组末尾的所有项。
(3)2个参数:如果有两个参数,该方法返回起始和结束位置之间的项——但不包括结束位置的项。
let arr = ["张","刘","理想"]
let newarr = arr.slice();
console.log(arr);
console.log(newarr);
let arr = ["张","刘","理想"]
let newarr = arr.slice(1);//一个参数
console.log(arr);
console.log(newarr);
let arr = ["张","刘","理想"]
let newarr = arr.slice(0,1);//一个参数
console.log(arr);
console.log(newarr);
裁剪包含开始位置,不包含结束位置左闭右开区间
splice()–删除、插入、替换(直接影响原数组,且返回一个删除内容的新数组,比如添加就没有删除,则返回一个空数组,替换返回替换掉的内容(替换本身就是删除旧的添加新的))
删除:可以删除任意数量的项,只需指定2 个参数:①要删除的第一项的位置、②要删除的项数。 例如,splice(0,2)会删除数组中的前两项。
插入:可以向指定位置插入任意数量的项,只需提供3 个参数:①起始位置、②0(要删除的项数)、③要插入的项。如果要插入多个项,可以再传入第四、第五,以至任意多个项。例如, splice(2,0,“red”,“green”)会从当前数组的位置2 开始插入字符串"red"和"green"。
替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定3 个参数:①起始位置、②要删除的项数、③要插入的任意数量的项。插入的项数不必与删除的项数相等。例如, splice(2,1,“red”,“green”)会删除当前数组位置2 的项,然后再从位置2 开始插入字符串 “red"和"green”。
let arr = ["张","刘","理想"]
console.log("原来的数组是---",arr);
let backarr = arr.splice(0,2)
console.log("splice对原数组改变之后",arr);
console.log("splice返回一个新数组接收的删除内容",backarr);
let arr = ["张","刘","理想"]
console.log("原来的数组是---",arr);
let backarr = arr.splice(2,0,"增加的内容")//增加在删除的最后一项位置
console.log("splice对原数组改变之后",arr);
console.log("splice返回一个新数组接收的删除内容",backarr);
增加的的内容放在第一个参数指定位置
增加本质就是删除0项然后在此处增加一个新元素
let arr = ["张","刘","理想"]
console.log("原来的数组是---",arr);
let backarr = arr.splice(2,1,"替换的内容")
console.log("splice对原数组改变之后",arr);
console.log("splice返回一个新数组接收的删除内容",backarr);
其实就是把某位置开始删除删除n项之后,增加一个新元素,删除后再增加
字符串
slice()–裁剪(可以是负数,倒数即可-1表示最后一项,-2表示倒数第二项)(不影响原字符串)
和数组一样,把字符串当成一个数组,每个字符就是相当于数组的每一项,其他的都一样
let str = "box-1";
let str1 = str.slice(0,3); //"box" 从下标0开始到下标3结束,一共3个字符,区间[0,3)
let str2 = str.slice(2);//"x-1" 从第2位开始,到结束
let str3 = str.slice(-1);//"1" 从最后一位开始到结束,可以是负数
console.log(str1);
console.log(str2);
console.log(str3);
字符串的剪裁还有其他的方法
substring和substr
substring接受两个参数,起始下标、结束下标(不支持负数)
substr接受两个参数,起始下标、长度
let str = "box-12";
let str1 = str.substring(2,3); //"x" 从下标2开始到下标3结束,一共3个字符,区间[2,3)
let str2 = str.substr(2,3);//"x-1" 从第2位开始,裁剪3个长度字符
console.log(str1);
console.log(str2);
split()–切割(不影响原来字符串,返回一个新数组)
split,
返回值:一个新数组:
传入参数:表示切得方法
split(""):直接切分每个字符,放在数组中
split(","):遇到逗号,进行切割
split(" "):遇到空格,进行切割
let str = "1,2,3";
let arr1 = str.split("");//["1",",","2",",","3"]
let arr2 = str.split(",");//["1","2","3"] 以逗号作为分隔切分
console.log(str);
console.log(arr1);
console.log(arr2);