js中数据常用的方法

对象数组字符串之间的转换

 ````字符串----->数组
 let str  = '字符串St'
 '字符串St'
 //1、split() 方法
 let strArr  = str.split('')
  ['字', '符', '串', 'S', 't' ]
 //2、展开运算符
 strArr = [...str]
  ['字', '符', '串', 'S', 't' ]
 //3、解构赋值
 const [...strArr] = str
  ['字', '符', '串', 'S', 't' ]
 //4、Array.from
 const strArr = Array.from(str)
  ['字', '符', '串', 'S', 't' ]
 ————————————————————————————————————————————————————————————————————————————————
 ````字符串----->对象
 // JSON.parse()
 var str2 = "{'title':'标题,'icon: '图标,'url: 'https://blog.csdn.net/}"
  console.log(JSON.parse(str2))
 ————————————————————————————————————————————————————————————————————————————————
 ​
 ````数组----->对象
 //1、Object.assign(xx,xx)
 var arr4 = ["海王星","冥王星","地球"]
 Object.assign({},arr4)
 输出:{0: “海王星”, 1: “冥王星”, 2: “地球”}
 //2、用遍历方法,forEach,map 都可以 
 var var5 = ["海王星","冥王星","地球"]
 var obj = {}
 var5.forEach((item,index)=>{
   obj[index] = item
 })
 输出:{0: “海王星”, 1: “冥王星”, 2: “地球”}
     //复杂情况
 var formArr =  [
   {name: "one", value: "11111"},
   {name: "two", value: "22222"},
   {name: "three", value: "33333"},
   {name: "four", value: "44444"}
 ];
 var obj={ };
 formArr.map(function (e, item) {
   obj[e.name] = e.value;
 })
  输出:{one: “11111”, two: “22222”, three: “33333”, four: “44444”}
 ————————————————————————————————————————————————————————————————————————————————
 ````数组----->字符串
 //1、join() 方法
 var arr1 = [1,2,3,4,5,6,7,8,9]
 var end  = arr1.join(",")
 1,2,3,4,5,6,7,8,9
 //2、toString()方法
 var arr2 = [1,2,3,4,5,6]
 var end = arr2.toString()
 1,2,3,4,5,6
 ————————————————————————————————————————————————————————————————————————————————
 ````对象----->字符串
 //1、JSON.stringify()
 var obj = {one: "11111", two: "22222", three: "33333", four: "44444"}
 JSON.stringify(obj)
 输出:"{“one”:“11111”,“two”:“22222”,“three”:“33333”,“four”:“44444”}"
 ​
 ````对象----->数组
 //1、Object.keys() values()
 单独将key值转成数组,或单独将value值转化为数组
 var obj = {one: "11111", two: "22222", three: "33333", four: "44444"}
 Object.keys(obj)  
 Object.values(obj) 
 输出: [“one”, “two”, “three”, “four”]
 输出:[“11111”, “22222”, “33333”, “44444”]
 //2、
 var obj = {one: "11111", two: "22222", three: "33333", four: "44444"};
 var arr = [];
 for (let i in obj) {
     let o = {};
     // console.log(i,obj[i])
     o[i] = obj[i];
     arr.push(o)
 }
 console.log(arr);
 ————————————————————————————————————————————————————————————————————————————
  
 ​

数组

 /**
 ​
  * 汇总,循环
    */
    // 给数组中的每项数据都添加一个方法,结果作为一个新的数组返回,并不会改变原来的数组
    Array.map((value)=>{ return value+1 }) 
    // 循环数组,forEach改变原数组,没有返回值
    Array.forEach((item,index)=>{}) 
    // 可以用来写求和求积 例: return preValue+(*)currentValue
    Array.reduce((preValue(初始值OR上一个值),currentValue(当前值))=>{ r })
 ​
 /**
 ​
  * 查找,筛选
    */
    // 筛选向方法中传入一个判断条件,将满足条件的值变成一个新的数组返回
    Array.filter((item,index)=>{ r }) 
    // 从数组的开头向后查找,返回查找的第一个元素的索引 匹配为严格匹配 ===
    Array.findIndex(查找的值,开始查找的位置索引)
    // 查找满足特定条件的第一个元素,并返回满足回调条件的第一个元素
    Array.find()
 ​
 /**
 ​
  * 删除,添加,修改,替换
    */
    // 向数组末尾添加一个或多个元素,并返回数组的长度,
    Array.push()
    // 向数组前添加一个或多个元素,并返回数组的长度
    Array.unshift()
    // 删除数组中的最后一位元素,并返回数组长度
    Array.pop()
    // 删除数组中的第一个元素,并返回数组长度
    Array.shift()
    // 万能的方法可以实现数组的增、删、改,arr.splice(开始位置, 删除的个数,添加的值(新添加在开始位置前))
    Array.splice()
    // 截取数组中的一段arr.slice(开始的位置,结束的位置) (开始位置,结束位置] 不会改变原数组
    Array.slice()
    // 替换数组中的元素,会改变原数组,接受三个参数,arr.fill(替换的值,开始替换的位置,结束的索引) 传一个值会全部替换,两值会从开始位置往后全部替换
    Array.fill()
 ​
 /**
 ​
  * 判断
    */
    // every 每一项 some 一些
    // 向方法中传入一个判断条件,遍历数组每一项,若全部为true,才返回true ,否则返回false
    Array.every(value =>{ r }) 
    // 与every相反,若一项为true就返回true
    Array.some( r ) 
    // 此方法是用来判断一个对象是不是数组,是的话返回true,不是返回false
    Array.isArray()
    // 此方法用来判断arr.includes(1)是否有传入的元素1,有的话返回true,没有的话返回false
    Array.includes()
 ​
 /**
 ​
  * 拆分,拼接,合并
    */
    // 此方法是用来将数组转变为字符串格式,例:['a','b','c'] "a,b,c"
    Array.toString()
    // 此方法也是将数组转换为字符串,但和toString不同的是join可以设置元素之间的间隔
    Array.join()
    // 把字符串分割成字符串数组split("分隔符",返回数组的最大长度) 不会改变原变量
    Array.split()  
    // 此方法是一个可以将多个数组合并成一个数组的方法
    Array.concat()
 ​
 /**
 ​
  * 排序
    */
    // 按指定的参数对数组进行排序,按每一项第一位排序,会改变原数组 先排数字再排数组
    // 如: console.log([1, 11, 10, 4, 5, 6, 22].sort()); [1, 10, 11, 22, 4, 5, 6]
    // 对对象数组进行排序 a-b为降序 b-a为升序 arr.sort((a, b) => a.data - b.data); 
    Array.sort()
    // 反转数组,颠倒数组顺序 会改变原数组
    Array.reverse()
     

对象

 // 此方法是用来获取对象的key值的返回一个包含对象所有key值的数组
 Object.keys(obj)
 ​
 // 会将两个对象合并为一个新对象,改变第一个对象
 Object.assign(原对象,需要克隆的对象)
 ​
 // 比较两个值,如果两个值相同返回true,不相同返回false,类似于===,它会将+0和-0视作不同值
 Object.is(value1,value2)
 ​
 // 检查一个对象中是否存在另一个对象的原型链 
 // function obj() {} let b = new obj() console.log(obj.prototype.isPrototypeOf(b)); true
 Object.isPrototypeOf()
 ​
 for in 遍历对象的key  item[key]

数字

   
 ​
  * Number 的属性
  
    Number.MAX_VALUE;   // 返回能表示的最大数字
  
    Number.MIN_VALUE;  // 返回能表示的最小数字
 ​
    Number.NAN;   // 非数字值
 ​
    Number.NEGATIVE_INFINITY;   // 返回负无穷,当溢出时返回
 ​
    Number.POSITIVE_INFINITY;   // 返回正无穷,当溢出时返回
  Number 的方法
  
 // 使用指定进制,将一个数字转换为字符串
 Number.toString();
 ​
 // 将一个数字转换为本地数字格式的字符串
 Number.toLocaleString();
 ​
 // 将一个数字转换为包含指定小数位数的字符串
 Number.toFixed();
 ​
 ​
 Number.parseInt()// 将字符串转换成整型数字,和全局方法 parseInt() 作用一致。
 ​
 ​
 Number.parseFloat()// 将字符串转换成浮点数,和全局方法 parseFloat() 作用一致。
 ​
 // 判断传递的参数是否为整数。
 Number.isInteger()
 // 判断传递的参数是否为有限数字。
 Number.isFinite()
 ​
 Number.isNaN()// 判断传递的参数是否为NaN。
 ​
 // 将数字转换为字符串,使用指定数目的有效数字
 Number.toExponential();
 // 返回一个Number对象的原始值
 Number.valueOf();
 // 判断传递的参数是否为安全整数。
 Number.isSafeInteger()
 ​
 eval() 函数计算或执行参数。
 ​
 如果参数是表达式,则 eval() 计算表达式。如果参数是一个或多个 JavaScript 语句,则 eval() 执行这些语句。
 ​

字符串

 //JavaScript中的字符串有一个length属性,该属性可以用来获取字符串的长度:
 String.length
 // 截取字符串中的一段 [开始位置,结束位置)如果是负数,-1为字符串的最后一个字符 不会改变原变量
 String.slice(start)
 String.slice(start,end)
 ​
 // 把字符串分割成字符串数组split("分隔器",返回数组的最大长度) 不会改变原变量
 String.split('separator/splitter',limit) 
 ​
 // 把字符串重复几遍count
 String.repeat(count)
 ​
 // 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
 String.replace('searchValue','replaceValue')
 ​
 // 返回指定下标位置的字符,不传参默认为0。如果index不在[0-str.length)之间,返回空字符串。
 String.charAt()
 // 返回字符串在字符串中第一次出现的位置,indexOf()方法对大小写敏感,没有找到返回-1。第二个参数表示开始查找的位置,默认从下标0开始 匹配为严格匹配 ===
 String.indexOf()
 ​
 //includes():该方法用于判断字符串是否包含指定的子字符串。如果找到匹配的字符串则返回 true,否则返回 false。该方法的语法如下:
 String.includes()
 ​
 // 把字符串转为小写,返回新的字符串,不改变原来的变量。
 String.toLowerCase()
 // 把字符串转为大写,返回新的字符串,不改变原来的变量。
 String.toUpperCase() 
 ​
 // 返回所有查找的关键字内容的数组str.match(需要查找的字符串) 返回一个对象index为字符串出现的索引 没找到返回null
 String.match()
 //字符串模式匹配
 replace()、match()和search()方法可以用来匹配或者替换字符。
 //移除字符串收尾空白符
 trim()、trimStart()和trimEnd()这三个方法可以用于移除字符串首尾的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等。

Math

  
  * Math 中常用的变量
  
    Math.E;   // 返回e,即2.718281828459045
 ​
    Math.LN2;   // 返回的 2 的自然对数,即 0.693
   
    Math.LN10; // 返回 10 的自然对数,即 2.302
  
    Math.PI  // Π 3.141592653589793
  #Math 的方法
   Math称之为数学函数,它也是对象数据类型的,主要是用来操作数字的
 1、Math.abs()求绝对值
 Math.abs(-1)
 ​
 2、Math.ceil/Math.floor向上取整,向下取整
 向上取整,无论是正数还是负数,都取最大的值
 向下取整,无论是正数还是负数,都取最小的值
 Math.ceil(1.2)
 2
 Math.ceil(-1.6)
 -1
  
 Math.floor(1.8)
 1
 Math.floor(-1.1)
 -2
 3、Math.round()四舍五入
 正数的话,还是正常的,之前理解的,但是如果是负数,临界点必须大于5
 Math.round(1.5)
 2
 Math.round(-1.5)
 -1
 Math.round(-1.51)
 -2
 4、Math.sqrt()开平方
 Math.sqrt(9)
 3
 5、Math.pow(n,m)取幂
 n的m次幂 
 Math.pow(3,2)   ==> 9
 6、Math.PI
 Math.PI  ===>3.141592653589793
 7、Math.max/Math.min  获取最大值和最小值
 Math.max(1,2,3)
 Math.min(4,5,6)
 8、Math.random()获取0~1之间的随机数(大于等于0小于1)
 获取n到m之间的随机数:Math.random()*(m-n)+n; 
 //获取10到20之间的随机输 
 Math.random()*10+10
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值