讲讲JavaScript中的API

整理了自己平常比较常用到的一些js的api~

数值类型api

  • num.toFixed(index) 作用是将数值保留几位小数,index是你需要保留的小数部分 返回的值是一个处理好的字符串数值 index值大于小数总位数的时候会被补上0
  • num.toString(进制) 将数值转换为字符串
  • parseInt(num) 将num数值转换为整数值 num可以传一个字符串会默认转成数值类型
  • parseFloat(x) 保留x的小数部分 保留第一个小数.后面的所有合法值 遇到不合法数值就返回已经保留的部分
javascript 复制代码
parseFloat(''13.5元'') // 13.5
  • Number.isNaN(x) 判断x是不是一个NaN 返回值是一个布尔值 如果可以转成数值类型就返回false 否则返回true
  • isFinite(x) 判断x是不是一个有限的值返回布尔值 如果是一个有限数值就返回true 也可以用来判断是不是数值
scss 复制代码
isFinite(Infinity) // false

isFinite('abc123') // false

ifFinite(NaN) // false

例子

javascript 复制代码
// 计算数组中所有整数值之和
let arr = ['asdf',true,'11','22','13.23',33]
let sum = 0
for(const item of arr){
  //判断item是不是一个合法数值并且是整数
  if(isFinite(item) && typeof item !== 'boolean' && item % 1 ===0){
    sum += item*1 //转成数值类型
  }
}

字符串类型api

  • str.charAt(index) 取str中的第index个字符
css 复制代码
//字符串也可以遍历每一项 也可以通过下标形式取值
for(let i = 0;i<str.length; i++){
  str.charAt(i)
  str[i]
}
  • str.charCodeAt() 转换字符串 将字符串转换为unicode编码
  • String.fromCharCode(unicode) //将unicode编码转换为字符串 注意:此方法在String下面操作与上面api互转
  • str.toLowerCase() 将大写字母转换为小写字幕 不需要传参数
  • str.toUpperCase() 将所有小写字母转换为大写
  • str.substring(indexStart,[,indexEnd]) 用于字符串截取 从字符串的indexStart下标位置开始截取,截取到indexEnd下标位置的字符串 返回值是截取到的新字符串 包含起始下标位置的字符串 但是不包含结束位置下标的字符串[indexStart,indexEnd) indexEnd不写默认截取到最后
rust 复制代码
let str = '我是个人练习生'
str.substring(2,5) // 个人练 不包含第五
str.substring(5,2) // 会自动把小的值放前面 传字符串的值会默认返回全部 传两个一样的数值返回空值
  • str.substr(indexStart,[,length]) 同样是字符串截取功能但是参数不同 indexStart 表示起点下标 length表示截取几位 length可以不传会返回后面全部 length为负数的时候返回空值
rust 复制代码
str.substr(3,1) // 起始下标为3往后截取1位
  • str.slice(indexStart,endIndex) 跟substring一样的参数
  • str.split(str) 将字符串以 str 的格式进行切割,切割为一个数组 分隔符要字符串里面存在 否则返回一个完整的原数组 传空值会将字符串里的每个字符单独作为数组的每一项
python 复制代码
 let str = '我,是,个人,练习生'
console.log(str.split(',')) //['我', '是', '个人', '练习生']
  • str.trim() 用于去除str首尾空格符号
  • str.indexOf(x) 用于检索x在str字符串中所在的位置 返回值是一个下标数值 如果不存在就返回-1 可以利用此方法鉴别是否包含这个值 应用场景:敏感词过滤 indexOf默认情况下都是从第一位开始进行检索的,找到满足条件的就返回它的下标 第二个参数从第几位下标开始进行检索
  • str.lastIndexOf() 跟 indexOf用法一样,区别:lastIndexOf从后往前走

数组api

  • Array.isArray(x) 判断x是不是一个数组 返回一个布尔值
  • Array.from(x) 将x转换为一个数组 前提是x必须是一个可迭代的数据 转不了的返回空数组
  • arr.push(data) 在数组的最后一项添加一个data数据 返回新增后数组的长度
  • arr.pop() 删除数组最后一项的数据 返回删除的那一项数据
  • arr.unshift(data,[,data]) 数组前面添加一个或者多个data数据 返回值是添加后的数组长度
  • arr.shift() 删除第一项数据 返回值是删除的那一项数据
  • arr.concat(arr1,arr2,arr3...) 用于数组合并 返回新的一个数组不会改变原数组
  • arr.flat(num) 将多维的arr数组降低num个维度
  • arr.join(str) 将数组的每一项以str作为分隔符拼接成为一个新的字符串
  • arr.reverse() 数组翻转 会改变原数组
  • arr.slice(beginIndex,endIndex) 数组截取 从beginIndex截取到endIndex下标位置 返回新的数组
  • arr.splice(startIndex,length,[newItem1...n])
perl 复制代码
startIndex 从什么下标位置开始截取
length截取几位
newItem1 将截取完后的部分替换为newItem的值
返回截取后的原数组
  • arr.forEach(callback,thisArg) callback(item,index,arr) item数组的每一项 index数组对应的下标
javascript 复制代码
arr.forEach(function(item,index,arr){
  console.log(this) //this指向arr2 不传的话this指向window
},arr2)

//自定义封装
function myForEach(arr,cb,thisArg){
  let fn = thisArg
  for(let index = 0; index < arr.length; index++){
    const element = arr[index]
    cb(element,index,arr)
  }
}
myForEach(arr,function(a,b,c){
  //值 索引 数组
  console.log(a,b,c)
},arr2)
  • arr.map() 返回的是一个新数组,数组的每一项是回调函数返回的值 一般用在对原数组进行一些操作
javascript 复制代码
arr.map((item,index,arr)=>{
  return item + '?' //给数组每一项的值后面加一个 ?
})
  • arr.filter() 将数组的每一项都进行一次筛选 返回 回调函数return 返回为真的数据
javascript 复制代码
arr.filter((item,index,arr)=>{
  console.log(item)
  return item <= 3 //返回满足条件数组中的每一项
})
  • arr.reduce(callback,acc) 用于数组归并数组里的每一项值归并到acc上面 callback(acc,curr,index,arr) acc 初始值可以是任意的数据类型 curr 数组的每一项值 返回值为acc最终并归后的值
javascript 复制代码
[5,4,3,2,1].reduce((acc,curr,index)=>{
  // acc第一次执行的时候跟传递进来的acc是同一个值  下次acc就为上一个回调函数的返回值决定
  return acc
},'acc')
  • arr.some((item,index,arr),thisArg) 参数和foreach一样 用于检索arr数组的每一项值 只要有一项值满足 回调函数的返回值返回true 否则返回false
  • arr.every() 参数跟some一样,必须所有元素都经过回调函数的处理返回值都为true 才会返回true
  • arr.find() 会返回数组中满足回调函数返回值条件的第一个元素
  • arr.findIndex() 会返回数组中满足回调函数返回值条件的第一个元素的下标
  • arr.sort(callback) callback(a,b) a是数组下一项值 b是数组的当前值 方法会返回一个排序后数组 回调的函数的返回值是决定a和b两个元素是否交换位置 如果小于0就交换位置 大于0就不换位置 返回排序后得数组会改变原数组
相关推荐
待磨的钝刨40 分钟前
【格式化查看JSON文件】coco的json文件内容都在一行如何按照json格式查看
开发语言·javascript·json
逐·風4 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫4 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
尚梦5 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子5 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山6 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
毕业设计制作和分享6 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
从兄7 小时前
vue 使用docx-preview 预览替换文档内的特定变量
javascript·vue.js·ecmascript
清灵xmf8 小时前
在 Vue 中实现与优化轮询技术
前端·javascript·vue·轮询
大佩梨8 小时前
VUE+Vite之环境文件配置及使用环境变量
前端