首页 > 其他分享 >JS中操作(处理)各类型数据的方法

JS中操作(处理)各类型数据的方法

时间:2023-03-12 19:32:26浏览次数:37  
标签:字符 slice 索引 JS 字符串 数组 类型 操作 数据

操作(处理)数据的方式主要有:

数据类型转换

增删改查

变化显示(翻转,排序,大小写)

合并截取

1.字符串数据操作方法

获取字符串长度 length

获取字符在字符串中所处位置

indexOf()获取出现位置(从前往后查找)
lastIndexOf()获取出现位置(从后往前查找)
localeCompare(target) 用于查找子字符串
search()正则表达式查找
match() 在字符串内检索指定的值,或找到一个或多个正则表达式的匹配
includes()查找字符串中的字符串
startsWith()判断是否以某字符串开头
endsWith()判断是否以某字段结尾
charAt()查找指定下标的字符
string[index] 查找指定下标的字符
charCodeAt(n) 取得字符串中第n个字符的Unicode编码
fromCharCode(Unicode_1,Unicode_2,.....) 从Unicode字符编码来创建字符串,返回创建好的字符

大小写转换

toUpperCase()转为大写
toLowerCase()转为小写

删除字符串空白字符

trim()删除首尾两侧空白字符
trimEnd()删除尾部空白字符
trimStart()删除首部空白字符

截取字符串

substring()截取
substr()被废弃
split()拆分方法
slice(start, end) 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分

连接字符串

concat()连接字符串

替换字符串方法

replace()替换方法
replaceAll() 方法用于在字符串中用一些字符替换另一些字符,全局匹配

重复字符串

repeat()重复方法
1.1数据类型转换(3种方法)
数据.toString() 数值、布尔值、对象和字符串值都有toString()方法,但是null和undefined值没有这个方法,无法使用,对象转字符串为'[object Object]'
String(数据) 万能方法,可以将任何类型的数值转换为字符串,包括null和undefined,但对象转字符串为'[object Object]'
数据+'' 或 数据+"" 万能方法,可以将任何类型的数值转换为字符串,包括null和undefined,,但对象转字符串为'[object Object]'
1.2增删改查
//增
'newstr'+数据 或 数据+'newstr' 或 数据.concat(newstr)
数据.slice(0,要插入位置索引) + newstr + 数据.slice(要插入位置索引)
数据.replace(/要插入位置元素/,要插入位置元素newstr)
数据.split('')转化为数组,通过数组的方法操作后,通过join('')再转化为字符串
//删
数据.replace(待删字符,'')
数据.slice(0,要删元素索引)+数据.slice(要删元素索引+1)
数据.substring(0,要删元素索引)+数据.slice(要删元素索引+1)
数据.split(要删元素).join('')
//改
数据.replace(待改字符,改为字符)
数据.slice(0,待改字符索引)+改为字符+数据.slice(待改字符索引+1)
数据.substring(0,待改字符索引)+改为字符+数据.substring(待改字符索引+1)
数据.split('')[待改字符索引] = 改为字符,再通过join('')再转化为字符串
//查
数据.indexOf(查询字符) !== -1
数据.search(查询字符) !== -1
数据.match(查询字符) !== null
数据.includes(查询字符) //找到返回true,否则返回false
RegExp(/查询字符/).test(数据) 或 RegExp(/查询字符/).exec(数据)
数据.split(''),利用数组方法查询
1.3变化显示(反转,排序,大小写)
//反转
数据.split('').reverse().join('')
Array.prototype.slice.call(数据).reverse().join('')
var revstr = ''
for(var i=0;i<数据.length;i++){
revstr += charAt(数据.length - i-1)
}

//排序,一般字符串不需要排序
数据.split('').sort().join('')

//大小写
toUpperCase()
toLowerCase()
1.4合并截取
//合并
数据 + '字符串' 或 数据 + "字符串"
数据.concat(字符串)
数据.split('').push(字符串).join('')
模板字符串 `数据 字符串`
//截取
数据.slice(start,end)
数据.substring(start, stop)
数据.split('').filter(x => x.index <待截取字符处索引).join('')


2.数值数据操作方法

数值属性 

Number.MIN_VALUE
Number.MAX_VALUE
Number.NEGATIVE_INFINITY
Number.POSITIVE_INFINITY
Number.NaN

操作数值数据的方法

Number()
parseInt()
parseFloat()
isNaN()
toFixed()
toString()
valueOf()

2.1数据类型转换
Number(数据)
parseInt(数据)
parseFloat(数据)
+数据 或 数据*1 或 数据/1 或 数据-0
2.2增删改查(数值无增删改查,主要用于计算)
2.3变化显示(反转,排序,大小写)(数值数据不涉及)
2.4合并截取(数值数据不涉及)


3.布尔数据操作方法

属性

操作布尔数据的方法

Boolean() 
toString()
valueOf()
3.1数据类型转换
Boolean() //6种数据为false,分别是:字符为空('',""),数值为0,布尔值为false,null,undefined,NaN,其他都为true
3.2增删改查(布尔无增删改查,主要用于运算)
3.3变化显示(反转,排序,大小写)(布尔数据不涉及)
3.4合并截取(布尔数据不涉及)


4.undefined数据操作方法

出现undefined的情况

​1.变量声明且没有赋值;

2.获取对象中不存在的属性时;

3.函数需要实参,但是调用时没有传值,形参是undefined;

4.函数调用没有返回值或者return后没有数据,接收函数返回的变量是undefined

5.在JS的严格模式下(“use strict”),没有明确的主体,this指的就是undefined

6.在数组的find方法中,没有找到的情况下是undefined。

7.Object.prototype._proto_的值也是undefined。

8.使用 new Map() 中的get() 获取的键名在Map集合中不存在时,会返回undefined

9.[].pop() 或 [].shift() 返回undefined


5.null数据操作方法

出现null的情况

1.手动设置变量的值或者对象某一个属性值为null(此时不赋值,会在后面的代码中进行赋值,相当于初始化。)

2.在JS的DOM元素获取中,如果没有获取到指定的元素对象,结果为null

3.js正则表达式的 match方法,如果匹配不到就会返回null

4.在正则捕获的时候,如果没有捕获到结果,默认为null


6.数组数据操作方法

属性 length

操作数组数据的方法

at() 查找索引对应的元素

of() 参数创建一个新的 Array 实例

from() 对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例

isArray() 判断是否为数组类型

join() 用指定的分隔符将数组每一项拼接为字符串

push()  向数组的末尾添加新元素

pop() 删除数组的最后一项

shift() 删除数组的第一项

unshift() 向数组首位添加新元素

slice() 按照条件查找出其中的部分元素

splice() 对数组进行增删改

fill() 方法能使用特定值填充数组中的一个或多个元素

filter() “过滤”功能

concat() 用于连接两个或多个数组

indexOf() 检测当前值在数组中第一次出现的位置索引

lastIndexOf() 检测当前值在数组中最后一次出现的位置索引

every() 判断数组中每一项都是否满足条件

reduce() 逐个遍历数组元素,每一步都将当前元素的值与上一步的计算结果相加,并返回最终计算结果

reduceRight() 从右边开始逐个遍历数组元素,每一步都将当前元素的值与上一步的计算结果相加,并返回最终计算结果

some() 判断数组中是否存在满足条件的项

includes() 判断一个数组是否包含一个指定的值

sort() 对数组的元素进行排序

reverse() 对数组进行倒序

forEach() ES5 及以下循环遍历数组每一项

map() ES6 循环遍历数组每一项

copyWithin() 用于从数组的指定位置拷贝元素到数组的另一个指定位置中

find() 返回匹配的值

findIndex() 返回匹配位置的索引

findLastIndex() 遍历数组,返回满足条件的最后一个元素

toLocaleString()、toString() 将数组转换为字符串

flat()、flatMap() 扁平化数组

entries() 、keys() 、values() 遍历数组

6.1数据类型转换
6.2增删改查
6.3变化显示(反转,排序,大小写)
6.4合并截取


7.对象数据操作方法

属性

操作对象数据的方法

assign()

create()

defineProperties()

defineProperty()

entries()

freeze()

fromEntries()

getOwnPropertyDescriptor()

getOwnPropertyDescriptors()

getOwnPropertyNames()

getOwnPropertySymbols()

getPrototypeOf()

hasOwn()

hasOwnProperty()

is()

isExtensible()

isFrozen()

isPrototypeOf()

isSealed()

keys()

preventExtensions()

propertyIsEnumerable()

seal()

setPrototypeOf()

toLocaleString()

toString()

valueOf()

values()

7.1数据类型转换
7.2增删改查
7.3变化显示(反转,排序,大小写)
7.4合并截取


8.Math数据操作方法

属性

PI 圆周率

常用方法

max() 最大值

min() 最小值

floor() 向下取整

ceil() 向上取整

round() 四舍五入,就近取整,注意-3.5,取整结果为-3

abs() 绝对值

random() 0-1之间的随机数,不含1


8.1数据类型转换
8.2增删改查
8.3变化显示(反转,排序,大小写)
8.4合并截取


9.Date数据操作方法

属性

操作Date数据的方法


9.1数据类型转换
9.2增删改查
9.3变化显示(反转,排序,大小写)
9.4合并截取




标签:字符,slice,索引,JS,字符串,数组,类型,操作,数据
From: https://blog.51cto.com/u_15001144/6116245

相关文章

  • P4047 [JSOI2010]部落划分
    地图上标注了n个野人居住的地点(可以看作是平面上的坐标)。我们知道,同一个部落的野人总是生活在附近。我们把两个部落的距离,定义为部落中距离最近的那两个居住点的距离。......
  • 自用nodejs安装笔记
    下载Nodejs进入Nodejs官网https://nodejs.org/zh-cn/下载安装Node.js检查Nodejs和npm包管理器是否安装成功用管理员打开cmd控制台命令行输入node-v查看......
  • java基础六-JSP基础
    JSP基础<%%>body内输出out.print("xx")声明变量局部变量优先级大于全局变量优先级,若同时声明两个同名的变量泽使用局部 <%%>声明局部变量<%!%>声明全局变量设......
  • [JS JavaScript] 使用CryptoJS库对给定的加密字符串进行解密
    本代码可以使用在Web中,或者其他可以出入密码的场景在需要解密的信息不大的情况下,可以将加密后的信息放入到JS中,在输入密码后,对加密后的信息进行解密在vue中,可以很方便的......
  • 2、获取vue.js步骤
    1、访问vue官网:https://cn.vuejs.org/        ......
  • 在chrome-console中进行xpath/css/js定位(六)
    1.xpathconsole中调用xpath的基本格式:$x("xpath表达式")1.1绝对定位与相对定位绝对定位:$x("/xpath表达式")相对定位:$x("//xpath表达式") 1.2通配符与不包含筛......
  • 3_sqlSession完成DML所有操作
     Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/myb......
  • 3_sqlSession完成DML所有操作
     Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.org/dtd/myb......
  • Node.js入门(4):内置模块 path
    前言上文讲解了Node.js的CommonJS规范,它主要用来解决模块化的问题。从本文开始将会介绍Node.js常用的模块,包括内置模块以及好用,好玩的第三方模块。本篇简单介绍下​......
  • 3_sqlSession完成DML所有操作
    ​ Mapper映射文件 <?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTDMapper3.0//EN""http://mybatis.o......