js函數(shù)方法合集(常用版)

我將js所有的函數(shù)方法分為四類:數(shù)學(xué)函數(shù)、日期函數(shù)、字符串函數(shù)、數(shù)組函數(shù)

數(shù)學(xué)函數(shù)

  1. 整數(shù): parseInt(number)
    將傳入的數(shù)字轉(zhuǎn)換為整數(shù)

    例1:獲取π的整數(shù)

    let num = parseInt(3.1415926535) 
    console.log(num)  // 3
    

    例2:是否會四舍五入?
    答:不會

    let num = parseInt(3.9) 
    console.log(num)  // 3
    
  2. 浮點(diǎn)數(shù): parseFloat(number/string)
    可解析一個(gè)字符串,并返回一個(gè)浮點(diǎn)數(shù)

    例1:解析字符串"11月11日"

    let  num = parseFloat("11月11日")
    console.log(num)  // 11
    
  3. 隨機(jī)數(shù):Math.random()
    產(chǎn)生一個(gè)0 - 1之間的隨機(jī)數(shù)

    例1:產(chǎn)生一個(gè)隨機(jī)數(shù)

    let num = Math.random()
    console.log(num)  // 0.7994840014784754
    

    例2:取50以內(nèi)的隨機(jī)數(shù)

    num = Math.random() * 50
    console.log(num)  // 39.88130414891049
    

    例3:取50以內(nèi)的整數(shù)隨機(jī)數(shù)

    let num = parseInt(Math.random() * 50)
    console.log(num)  // 37
    
  4. 最大值:Math.max(number1,number2)
    獲取最大值

    例1:輸出兩個(gè)數(shù)字中的最大值

    let num = Math.max(5, 10)
    console.log(num)  // 10
    

    例2:輸出數(shù)組中最大值

    let arr = [1, 3, 5, 10]
    let num = Math.max(...arr) // ...arr 中的...叫擴(kuò)展運(yùn)算符,主要作用是將一個(gè)數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列,詳情請轉(zhuǎn)至本文的數(shù)組函數(shù)(1. 擴(kuò)展運(yùn)算符)中
    console.log(...arr)  // 1 3 5 10
    console.log(num)  // 10
    
  5. 最小值:Math.min(number1,number2)
    獲取最小值

    例1:輸出兩個(gè)數(shù)字中的最小值

    let num = Math.min(5, 10)
    console.log(num)  // 5
    

    例2:輸出數(shù)組中最小值

    let arr = [1, 3, 5, 10]
    let num = Math.min(...arr) // ...arr 中的...叫擴(kuò)展運(yùn)算符,主要作用是將一個(gè)數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列
    console.log(...arr)  // 1 3 5 10
    console.log(num)  // 1
    
  6. 四舍五入:round()
    獲取一個(gè)數(shù)字四舍五入后的整數(shù)

    例1:將數(shù)字進(jìn)行四舍五入

    const num = Math.round(2.99)
    console.log(num)  // 3
    

日期函數(shù)

  1. 詳細(xì)日期:new Date()
    獲取當(dāng)前日期

    例1:獲取當(dāng)前日期

    let date = new Date()
    console.log(date)  // Mon Feb 13 2023 16:38:53 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間)
    
  2. 時(shí)間戳:getTime()
    獲取當(dāng)前日期的時(shí)間戳
    時(shí)間戳:是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù)

    例1:獲取當(dāng)前日期的時(shí)間戳

    let date = new Date()
    let timeStamp = date.getTime()
    console.log(timeStamp)  // 1676277638378
    
  3. 年:getFullYear()
    獲取當(dāng)前年份

    例1:獲取當(dāng)前年份

    let date = new Date()
    let year= date.getFullYear()
    console.log(year)  // 2023
    
  4. 月:getMonth()
    獲取當(dāng)前月份

    例1:獲取當(dāng)前月份

    let date = new Date()
    let month = date.getMonth() + 1
    console.log(month )  // 2
    

    問題: 為什么獲取當(dāng)前月份要+1?
    解答:因?yàn)樵路菔?(一月) 到 11(十二月) 之間的一個(gè)整數(shù),獲取的是下標(biāo),所以要+1

  5. 日:getDate()
    獲取當(dāng)前日

    例1:獲取當(dāng)前日

    let date = new Date()
    let day= date.getDate()
    console.log(day)  // 13
    
  6. 時(shí):getHours()
    獲取當(dāng)前小時(shí)

    例1:獲取當(dāng)前小時(shí)

    let date = new Date()
    let hour= date.getHours()
    console.log(hour)  // 16
    
  7. 分:getMinutes()
    獲取當(dāng)前分

    例1:獲取當(dāng)前分

    let date = new Date()
    let minute= date.getMinutes()
    console.log(minute)  // 51
    
  8. 秒:getSeconds()
    獲取當(dāng)前秒

    例1:獲取當(dāng)前秒

    let date = new Date()
    let second= date.getSeconds()
    console.log(second)  // 59
    
  9. 毫秒:getMilliseconds()
    獲取當(dāng)前毫秒

    例1:獲取當(dāng)前毫秒

    let date = new Date()
    let millisecond= date.getMilliseconds()
    console.log(millisecond)  // 59
    
  10. 星期: getDay()
    獲取當(dāng)前星期

    例1:獲取當(dāng)前星期

    let date = new Date()
    let weekday= date.getDay()
    console.log(weekday)  // 1
    

字符串函數(shù)

  1. 索引:indexof()
    對字符串從左到右依次進(jìn)行索引,將第一個(gè)匹配的字符下標(biāo)進(jìn)行返回,如果不包含,返回-1。

    例1:以下字符串中搜索是否包含”老“

    let str = '告訴老墨,我要吃魚'
    console.log(str.indexOf('老'))  // 2
    
  2. 索引:lastIndexOf()
    對字符串從右往左依次進(jìn)行索引,將最后一個(gè)匹配的字符下標(biāo)進(jìn)行返回,如果不包含,返回-1。

    例1:通過indexof與lastIndexOf函數(shù)方法,搜索字母‘d’

    let str = 'abcdddefg'
    console.log(str.indexOf('d'))  // 3      
    console.log(str.lastIndexOf('d'))  // 5
    
  3. 指定下標(biāo):charAt(index)
    獲取字符串中指定下標(biāo)位置的字符

    例1:獲取下標(biāo)為1的字符

    let str = '告訴老墨,我要吃魚'
    let value = str.charAt(1)
    console.log(value) // 訴
    
  4. 通過起始下標(biāo)截取:substring(startIndex, endIndex)
    截取startIndex與endIndex之間的字符串(不包含endIndex)

    例1:截取下標(biāo)1與3的字符

    let str = '告訴老墨,我要吃魚'
    let value = str.substring(1, 3)
    console.log(value) // 訴老
    
  5. 通過長度截?。簊ubstr(index, length)
    截取從index開始,length長度的字符

    例1:從下標(biāo)為1處開始,截取3個(gè)字符

    let str = '告訴老墨,我要吃魚'
    let value = str.substr(1, 3)
    console.log(value)  // 訴老墨
    
  6. 替換:replace(oldStr, newStr)
    將字符串中某字符替換

    例1:將以下字符串中的”老“換成“小”

    let str = '告訴老墨,我要吃魚'
    let value = str.replace('老', '小')
    console.log(value) // 告訴小墨,我要吃魚
    
  7. 字符串轉(zhuǎn)換為數(shù)組:split()
    將字符串按字符拆分為數(shù)組

    例1:不傳參時(shí)

    let str = '告訴老墨,我要吃魚'
    let value = str.split()
    console.log(value) // ['告訴老墨,我要吃魚']
    

    例2:參數(shù)為 '' 時(shí)

    let str = '告訴老墨,我要吃魚'
    let value = str.split('')
    console.log(value) // ['告', '訴', '老', '墨', ',', '我', '要', '吃', '魚']
    

    例3:參數(shù)為字符串中存在的某字符時(shí),比如”老“

    let str = '告訴老墨,我要吃魚'
    let value = str.split('老')
    console.log(value) // ['告訴', '墨,我要吃魚']
    
  8. 轉(zhuǎn)換為小寫:toLowerCase()
    將字符串所有內(nèi)容中字母統(tǒng)一轉(zhuǎn)換為小寫

    例1:將以下字符串轉(zhuǎn)換為小寫

    let str = 'Hello,world!'
    let value = str.toLowerCase()
    console.log(value)  // hello,world!
    
  9. 轉(zhuǎn)換為大寫:toUpperCase()
    將字符串所有內(nèi)容中字母統(tǒng)一轉(zhuǎn)換為大寫

    let str = 'Hello,world!'
    let value = str.toLowerCase()
    console.log(value)  // HELLO,WORLD!    
    

數(shù)組函數(shù)

  1. 擴(kuò)展運(yùn)算符:...arr
    主要作用是將一個(gè)數(shù)組轉(zhuǎn)為用逗號分隔的參數(shù)序列。
    < 它不是函數(shù),但因?yàn)楸疚闹袛?shù)學(xué)函數(shù)的(4. 最大值)方法中涉及到擴(kuò)展運(yùn)算符方法,特在此詳細(xì)介紹下!>

    例1:用...輸出數(shù)組

    let arr = [1, 2, 3]
    console.log(...arr)  // 1 2 3
    

    例2:合并兩個(gè)數(shù)組

    let arr1 = [1, 2, 3]
    let arr2 = [4, 5, 6]
    let newArr = [ ...arr1, ...arr2]
    console.log(newArr)  // [1,2,3,4,5,6]
    

    例3:字符串轉(zhuǎn)數(shù)組

    let str = "告訴老墨,我想吃魚"
    console.log([...str])  // ['告', '訴', '老', '墨', ',', '我', '想', '吃', '魚']
    
  2. 頭部添加:unshift(value)
    將數(shù)值添加進(jìn)數(shù)組頭部
    返回值為 數(shù)組長度

    例1:將數(shù)字0添加進(jìn)數(shù)組頭部

    let arr = [1, 2, 3]
    let newArr = arr.unshift(0)
    console.log(arr)  // [0, 1, 2, 3] 
    console.log(newArr)  // 4
    
  3. 頭部刪除:shift()
    數(shù)組頭部刪除一個(gè)元素,若數(shù)組為空,返回undefined
    返回值為 刪除的元素

    例1:將數(shù)組中第一位的元素刪除

    let arr = [ 1, 2, 3]
    let newArr = arr.shift()
    console.log(arr)  // [2, 3] 
    console.log(newArr )  // 1
    
  4. 尾部添加:push()
    將數(shù)值添加進(jìn)數(shù)組尾部
    返回值為 數(shù)組長度

    例1: 為數(shù)組尾部添加數(shù)字4

    let arr =[0, 1, 2]
    let newArr = arr.push(4)
    console.log(arr)  // [0,1,2,4]
    console.log(newArr')  // 4
    
  5. 尾部刪除:pop()
    數(shù)組尾部刪除一個(gè)元素,若數(shù)組為空,返回undefined
    返回值為 刪除的元素

    例1:刪除數(shù)組中尾部元素

    let arr = [0, 1, 2]]
    let newArr = arr.pop()
    console.log(arr)  // [0, 1] 
    console.log(newArr )  // 2
    
  6. 合并數(shù)組:concat()
    將數(shù)組進(jìn)行合并

    例1:將以下兩個(gè)數(shù)組進(jìn)行合并

    let arr1 = [1, 2, 3]
    let arr2 = ['a', 'b', 'c']
    let newArr = arr1.concat(arr2)
    console.log(newArr) // [1, 2, 3, 'a', 'b', 'c']
    
  7. 轉(zhuǎn)字符串:join()
    將數(shù)組轉(zhuǎn)換為字符串格式

    例1:將以下數(shù)組轉(zhuǎn)換為字符串, 無參數(shù) 時(shí)

    let arr =  ['a', 'b', 'c']
    let newArr = arr1.join()
    console.log(newArr) // a,b,c
    

    例2:將以下數(shù)組轉(zhuǎn)換為字符串, 參數(shù)為 '' 時(shí)

    let arr =  ['a', 'b', 'c']
    let newArr = arr1.join('')
    console.log(newArr) // abc
    
  8. 顛倒:reverse()
    將數(shù)組中元素進(jìn)行顛倒,原數(shù)組 改變

    例1:將以下數(shù)組顛倒

    let arr =  ['a', 'b', 'c']
    let newArr = arr.reverse()
    console.log(newArr) // ['c', 'b', 'a']
    console.log(arr) // ['c', 'b', 'a']  
    
  9. 正序排序:sort()
    對數(shù)組的元素進(jìn)行正序排序

    例1: 對以下數(shù)組進(jìn)行正序排序

    const arr = [1, 0, 2, 4]
    const newArr = arr.sort()
    console.log(newArr)  // [0, 1, 2, 4]
    
  10. 截?。簊lice(startIndex,endIndex)
    根據(jù)起始兩個(gè)參數(shù),對數(shù)組截取

    例1:將以下數(shù)組進(jìn)行截取

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.slice(1, 3)
    console.log(newArr) // [2, 3]
    
  11. 增加/刪除數(shù)組元素:splice(index, howmany, arr1, arr2…)
    在數(shù)組中任意位置增加或刪除一個(gè)或多個(gè)元素,原數(shù)組 改變
    返回值為 刪除的元素

    參數(shù)注解:
    從index位置開始刪除howmany個(gè)元素,并將arr1、arr2…數(shù)據(jù)從index位置依次插入。howmany為0時(shí),則不刪除元素

    例1:刪除多個(gè)元素

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.splice(1, 3)
    console.log(newArr) // [2, 3, 4]
    console.log(arr)  // [1, 5]
    

    例2:給數(shù)組增加新元素

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.splice(5, 0, 6, 7, 8)
    console.log(newArr) // []
    console.log(arr)  // [ 1, 2, 3, 4, 5, 6, 7, 8 ]
    
  12. 遍歷 - map()
    調(diào)用數(shù)組的每一項(xiàng)

    例1:將數(shù)組中每一位乘以2

    let arr = [3, 5, 1, 4, 2]
    let newArr = arr.map(item => {
      return item * 2
    })
    console.log(newArr)  // [ 6, 10, 2, 8, 4 ]
    
  13. 遍歷 - forEach()
    調(diào)用數(shù)組的每一項(xiàng)

    與map區(qū)別?
    map通過return,給新數(shù)組開辟出獨(dú)立的內(nèi)存空間,而forEach沒有return

    例1:

    let arr = [1, 2, 3, 4, 5]
    let newArr = []
    arr.forEach(item => {
       newArr.push(item * 2)
    })
    console.log(newArr) // [2, 4, 6, 8, 10]
    
  14. 遍歷 - 過濾:filter()
    過濾數(shù)組中符合條件的元素,并返回一個(gè)新的數(shù)組
    例1:過濾出數(shù)組中小于3的數(shù)字

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.filter(item => item > 3)
    console.log(newArr)  // [4, 5]
    
  15. 遍歷 - every()
    對數(shù)組中的每一項(xiàng)進(jìn)行判斷,若每項(xiàng)都符合,則返回true,否則返回false

    例1:判斷數(shù)組中每項(xiàng)元素是否全部大于3

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.every(item => item > 3)
    console.log(newArr) // false
    
  16. 遍歷 - some()
    對數(shù)組中的每一項(xiàng)進(jìn)行判斷,若每項(xiàng)都不符合,返回false,否則返回true

    例1:判斷數(shù)組中每項(xiàng)元素是否全部大于3

    let arr = [1, 2, 3, 4, 5]
    let newArr = arr.some(item => item > 3)
    console.log(newArr) // true
    
  17. 遍歷 - 累加器:reduce()
    接受一個(gè)函數(shù)作為累加器,屬于高階函數(shù)

    例1:數(shù)組總和

    let arr = [1, 2, 3, 4, 5]
    let total = arr.reduce((a, b) => a + b)
    console.log(total) // 15
    
  18. 遍歷 - indexOf()
    檢測當(dāng)前值在數(shù)組中第一次出現(xiàn)的位置索引,如果存在,返回下標(biāo),不存在返回-1

    例1:尋找數(shù)組中是否有數(shù)字2,如果有,需返回下標(biāo)位置

    const arr = [1, 2, 3, 4, 5]
    console.log(arr.indexOf(2))  // 1
    
  19. 遍歷 - includes()
    判斷一個(gè)數(shù)組是否包含一個(gè)指定的值,返回布爾值

    例1:數(shù)組中是否包含數(shù)字2

    const arr = [1, 2, 3, 4, 5]
    console.log(arr.includes(2)) // true
    
  20. 以上數(shù)組函數(shù)中改變原數(shù)組的方法有:
    push()、pop()、 shift()、 unshift()、 reverse()、 sort()、 splice()

總結(jié):以上所有函數(shù)方法中的例子都是最簡單的實(shí)例,實(shí)際業(yè)務(wù)中會更加復(fù)雜多樣。熟能生巧,希望對路過的你有幫助!
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容