数组、字符串api

数组api

参数是回调函数的api除了forEach,其他的回调函数都要有return

  1. arr.push(value[,value2,…valueN])

    • 在数组尾部添加1个或多个数据
    • 返回值: 返回修改后的数组新长度
    • 直接修改原数组
  2. arr.pop()

    • 删除数组的最后1个数据
    • 没有参数
    • 直接修改原数组
  3. arr.concat(value[…,valueN])

    • 数组扁平化:concat函数会将传入的数组参数展开将值依次放入的到数组中(对象无法展开,直接传入)
    • 不修改原数组,创建新数组,将新数组作为返回值
  4. arr.join(‘用于拼接字符串的连接符号’)

    • 将数组内的所有元素进行toString(),然后进行拼接(若数组中含有数组,则展开数组,若含有对象,则是[object Object])
    • 不修改原数组,返回新数组
    • 默认用英文逗号连接
    var arr=[1,2,3,4]
    console.log(arr.join("")) //1234
    console.log(arr.join()) //1,2,3,4
    
  5. arr.reverse()

    • 没有参数
    • 颠倒数组中的元素
    • 直接修改原数组
  6. arr.shift()

    • 删除数组中的第一个元素
    • 没有参数
    • 直接修改原数组
    • 返回被删除的元素
    • 如果数组为空,返回undefined
  7. arr.unshift(value[value2,…valueN])

    • 在数组头部插入1个或多个数据
    • 直接修改原数组
    • 返回新数组的长度
  8. arr.slice(start[,end])

    • 截取数组片段
    • 截取到的结果包含start,不包含end
    • end可以取负数,没有end则从开始索引截取到尾部
    • 不修改原数组,返回新数组
  9. arr.sort([callback])

    • 数组排序
    • 直接修改原数组
    • 不传回调函数默认按照字符串编码排序
    //从小到大排序
    arr.sort(function(a,b){
        return a-b
    })
    
  10. arr.toString()

    • 将数组内所有元素都调用toString(),然后用","拼接
    • 返回拼接后的字符串
    • 推荐使用arr.join()
  11. arr.splice(start[,deletecount,value,value])

    • 可以删除指定索引的元素/在指定索引插入内容
    • 直接修改原数组
    • 返回删除的元素,如果没有删除,则返回
    var arr=[1,2,3,4]
    console.log(arr.splice(1,0,'2')) //[]
    console.log(arr) //[1,'2',2,3,4]  (插入时是在指定索引的前面插入)
    
  12. arr.indexOf(searchElement,[fromIndex=0])

    • 在数组中检索某个指定的值
    • 可以从指定位置开始查找
    • 返回值:索引值或者-1
  13. arr.forEach(callback)

    • 没有返回值
    var arr=[4,3,2,1]
    arr.forEach((value,index)=>{
        //第一个参数是value
        //第二个参数是index
    })
    
  14. arr.filter(callback)

    • 遍历数组,使用逻辑表达式检测数组中的每一个元素,将结果为true所对应的值存入新数组中并返回
    • 不修改原数组,返回新数组
    var arr1=arr.filter(function(value,index){
        return value%2
    })
    
  15. arr.map(callback)

    • 遍历数组,操作数组中的每一个元素
    • 不修改原数组,返回新数组
    var arr1=arr.map(function(value,index){
        return value*2
    })
    
  16. arr.reduce(callback[,currentValue])

    • 不修改原数组,返回新数组
    // 没有currentValue时
    var arr=[1,2,3,4]
    var result=arr.reduce(function(pre,next){
        console.log(pre,next)
        return pre+next //每一次return的结果会作为下一次循环的pre的值,直到循环结束
        //第一次循环的pre是第一个值
        //next是下一个值
    })
    console.log(result) //10
    
    //有currentValue时
    var arr=[1,2,3,4]
    var newArr=arr.reduce(function(result,value){
        result.push(value)
        return result
        //第一次result的值时currentValue的值,后面是return的值
        //value是数组的每一个元素
    },['a'])
    
  17. arr.every(callback)

    • 使用逻辑表达式检测数组中的每一个元素,如果全部为true,则返回true
  18. arr.some(callback)

    • 使用逻辑表达式检测数组中的每一个元素,如果有一个为true,则返回true
  19. arr.includes(valueToFind[, fromIndex])

    • 判断一个数组是否包含一个指定的值,如果包含则返回true(一般用indexOf()代替)

字符串api

字符串也有length属性 表示字符个数 只读

  1. str.charAt(index)

    • 返回字符串中吃定索引的字符
  2. str.charCodeAt(index)

    • 查看指定索引字符串的Unicode编码 0-65535
  3. String.fromCharCode(Unicode编码)

    • 将Unicode编码转换成字符串
  4. str.concat(value[,value2,…,valueN])

    • 用于字符串的连接操作
    • 一般使用"+"拼接
  5. str.indexOf(searchElement[,fromIndex=0])

    • 用于在字符串中查找指定的字符串片段
    • 返回所匹配字符串首字符的索引 或 -1
  6. str.lastIndexOf(searchElement[,fromIndex=0])

    • 与str.indexOf相同,返回的索引值仍然是从头到尾计算
  7. str.replace(regexp,newstring)

    • 用于替换字符串,返回替换后的新字符串

    注意:如果传入的第一个参数不是正则表达式,replace()函数会将其转换成正则表达式

    str.replace('localhost','127.0.0.1')
    
  8. str.slice(start[,end])

    • 用于在字符串中截取字符串片段
  9. str.split([string])

    • 将字符串转为数组
    var str='abcde'
    var newStr=str.split()
    console.log(newStr) //["abcde"]
    var newStr1=str.split("")
    console.log(newStr1) //['a','b','c','d','e']
    
  10. str.substr(start[,length])

    • 用于字符串截取
    • length不写默认到最后
  11. str.substring(start[,end])

    • 返回截取到的start到end的字符串
  12. str.toLowercase()

  13. str.toUpperCase()

  14. str.repeat()

    • “abc”.repeat(0) // ‘’
    • “abc”.repeat(1) // ‘abc’
  15. str.includes()

    • 用于判断一个字符串是否包含在另一个字符串中,根据情况返回true或false
  16. str.trim()

    • 去除字符串两端的空格

数组和字符串都有的方法

- slice
- indexOf
- lastIndexOf
- concat
- includes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值