数组和字符串的常用方法

数组和字符串的常用方法

数组常用方法
push方法:给数组的末尾添加一项,可以添加多项,返回值是改变后的数组的长度l;改变了原有数组
例如:

let ary = [1,2,3]
let res = ary.push(4,5,6)
console.log(res)  //输出6

unshift 方法: 给数组的头部添加 一项 ,可以添加多项,返回值是改变后的数组的长度;改变了原有数组;
例如:

let ary = [1,2,3]
let res = ary.unshift(1,2,3)
console.log(res)  //输出6

pop方法: 删除末尾不用传参数;pop的返回值是删除的哪一项; 改变了原有数组;
例如:

let ary = [1,2,3]
let res = ary.pop()
console.log(res)  //输出3

shift方法:删除首位,不用传参,shift的返回值是删除的那一项;改变了原有数组;
例如:

let ary = [1,2,3]
let res = ary.shift()
console.log(res)  //输出1

splice方法:splice(n,m,x,y,z)splice的返回值是由删除的项组成的新数组;改变原有数组
n: 必需。整数,规定添加/删除项目的位置(索引),使用负数可从数组结尾处规定位置。
m: 必需。要删除的项目数量。如果设置为 0,则不会删除项目,表示在索引n的前边儿添加x,y,z。
x,y,z: 可选。向数组添加的新项目。
例如:
<1> 使用splice实现项数末尾添加新的项

let ary = [1,2,3]
ary.splice(ary.length,0,666)
console.log(ary)  //输出[1, 2, 3, 666]

<2> 使用splice实现向数组的头部添加

let ary = [1,2,3]
ary.splice(0,0,666)
console.log(ary) //输出[666,1,2,3]

reverse方法:用于颠倒数组中元素的顺序
例如:

let ary = [1,2,3]
ary.reverse()
console.log(ary) // 输出[3, 2, 1]

concat方法:进行数组的合并,参数为要拼接的数组 ,返回值为新的结合数组
例如:

let ary = [1, 2, 3, 4, 5, 6]
let res = arr.concat([1,2,3,4])
console.log(res) //输出[1, 2, 3, 4, 5, 6, 1, 2, 3, 4]

fill方法:full(filler,start,end) filler填充项,start被填充的起始下标(包括),end结束下标(不包括)
例如:

let ary = [1, 2, 3, 4, 5, 6]
ary.fill(7,5,6)
console.log(res) //输出[1, 2, 3, 4, 5, 7]

join方法:把数组转换成字符串
例如

let ary = [1, 2, 3, 4, 5, 6]
let res = ary.join()
console.log(res) //输出1,2,3,4,5,6

copyWithin方法:复制数组元素 copyWithin(target, start, end);target 必填 复制到指定目标索引位置;start 选填 元素复制的起始位置 end 选填 停止复制的索引位置。如果为负值,表示倒数。
例如:

let ary = ["Banana", "Orange", "Apple", "Mango", "Kiwi", "Papaya"]
ary.copyWithin(2, 0, 2); //输出结果Banana,Orange,Banana,Orange,Kiwi,Papaya

slice方法:slice(n,m) 获取数组中 从索引n开始(包含索引n这一项)到索引m结束(不包含索引m的这一项)这些项, 返回值是由获取到这些项组成的新数组;原有数组不发生任何改变;
例如:

let ary = [1, 2, 3, 4, 5, 6]
let res = ary.slice(1,2)
console.log(res) //输出[2]

indexOf方法:一般用来查看数组中是否存在某项返回值若是-1 则证明不存在;否则就是存在(从左边开始查看)
例如:

let ary = [10,30,20,40,30,50]
let res = ary.indexOf(30) //输出1

lastIndexOf方法:跟indexOf使用相同,不同点是从右向左查看
例如:

let ary = [10,30,20,40,30,50]
let res = ary.lastIndexOf(30) //输出4

sort方法:数组的排序,b-a为降序;a-b为升序
例如:

let ary = [1, 2, 3, 4, 5, 6]
let res = ary.sort((a, b) => b - a) // 输出[6, 5, 4, 3, 2, 1]

forEach方法:不能打断循环,不能退出循环,只循环本身的数组;
Map方法:map的返回值首先是个数组,数组中的项是由回调函数的return值决定的
例如:

 var ary = [1,2,3,4,5,6]
 let res = ary.map(item=>item*2)
 console.log(res) //输出[2, 4, 6, 8, 10, 12]

filter方法:filter的返回值是一个数组,数组中的项是满足条件的项的集合
例如:

let ary = [1,2,3,4,5]
let arr = ary.filter(item=>{return item>3})  //输出

find方法:把符合条件的那一项返回 (回调函数返回true,就把当前的这一项返给res,后边儿的回调函数不再执行;如果返回的都是false,那么res返回的就是一个undefined)
例如:

let ary = [{a:10},{a:20},{a:30}]
let res = ary.find((item,index)=>{
        return item.a == 30
    })  // 输出{a: 30}

reduce方法:(prev 如果是第一次执行回调函数时 prev是reduce的第二个参数,如果不存在第二个参数 则prev就是数组的第一项,再后边的回调 prev就是上一个回调的返回值,next就是当前选项的索引对应的值,reduce的执行结果 就是最后一个回调函数的返回值)
例如:

let ary = [1,2,3]
let res = ary.reduce(function(prev,next){
        return prev+next
    },10); // res输出16

some方法:只要有一个回调函数返回值是true结果就是true 后边儿的回调就不再执行
例如:

let ary = [{a:10},{a:20},{a:30}]
let res = ary.some(item=> {
 return  item.a>20
}) // 输出true

every方法: 只要有一个回调函数返回值是false 结果就是false 后边回调不再执行
例如:

let ary = [{a:10},{a:20},{a:30}]
let res = ary.every(item=> {
 return  item.a>20
}) // 输出false

for of方法:循环数组遍历到的是数组的值
例如:

let ary = [10,20,30]
for (let key of ary){
    console.log(key)  // 输出10,20,30
}

字符串常用方法
substring方法:第一项从索引开始位置;第二项是索引的结束位置减1;如果没有第二个参数就截取到末尾
例如:

var str = 'abcdefg';
str.substring(2); //输出从索引2到末尾=>输出cdefg
str,substring(2,-3) //相当于str.substring(0,2) =>输出ab

substr方法:第一项从索引开始位置;第二项是截取的长度;如果没有第二个参数就截取到末尾
例如:

let str = 'abcdefg'
str.substr(1,3) //bcd
str.substr(-1);  //g =>负数的时候从后边儿开始截取 
str.substr(1);   //bcdeg

charAt方法:返回指定索引位置处的字符
例如:

let str = 'abcdefg'
str.charAt(0)  //a

split方法:把字符串拆分成数组
例如:

let str = 'abcef'
let res = str.split('') //=>输出["a", "b", "c", "e", "f"]

replace方法:字符串的替换方法
例如:

let str = 'abcefg'
str.replace('a','b') //把str中的a替换成b,输出bbcefg

trim方法:去除首尾空格
例如:

let str = '  abcefg   '
str.trim() // 输出abcefg

slice方法:获取一个新的字符串 从索引n到索引m 包含n不包含m;
例如:

let str = 'abcefg'
str.slice(1,3) //输出bc

padStart方法:一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。(头部补齐)
例如:

'x'.padStart(5,'ab') //=>输出ababx
'x'.padStart(4,'ab')//=>输出abax

padEnd方法:一共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。(尾部补齐)

'x'.padEnd(5,'ab') //=>输出xabab
'x'.padEnd(4,'ab')//=>输出xaba

repeat方法:复制字符串;参数是要复制几次 必填
例如:

var str = "Runoob";
str.repeat(2); //=>输出 RunoobRunoob
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值