js基础篇
js处理字符串、对象、数组方法大全
字符串
- 截取:slice(start,end)
如:把20229 变成 2022-9
xxx.slice(0,4)+ '-' + xxx.slice(4)
-
替换:replace(searchValue,replaceValue)
-
split(字符串/正则,length);//split方法把一个字符串string分割成片段创建一个字符串数组
-
concat(string…)//用于连接两个或者多个字符串。
对象
1.Object.assign(目标对象,源对象) 浅复制、合并、拷贝、
var o=Object.assign({},obj,obj1);
var o ={...obj,...obj1}//复制,重新变成1个新对象
2.Object.keys(o) 获取o对象的所有key组成的数组
3.Object.values(o) 获取o对象的所有value组成的数组
4.delete 删除对象的属性
- Object.freeze(obj);冻结 不能修改属性,不能删除属性,不能添加属性
6.Object.defineProperty 是实现 vue2双向绑定的关键
1.属性所在的对象 2.属性的名字 3.一个描述符对象
Object.defineProperty(window.data, "value", { get() { return ""; }, set(v) { oDiv.innerHTML = v; }, 7.hasOwnProperty 判断对象的对象属性是否包含这个属性名 深拷贝有用到
数组(重中之重)方法之多
可分为:增删改查
.push
.pop
.unshift
.shift
.concat :现在被es6的扩展运算符代替了,不过原方法也很好用
Array.join(),将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。
.reverse(),将数组倒序。原数组改变。
Array.sort(),对数组元素进行排序。按照字符串UniCode码排序,原数组改变。
①从小到大
②从大到小
③按照数组对象中的某个值进行排序
.map 原数组的每一项执行函数后,返回一个新的数组。原数组不变 与forEach相反
.slice() 和字符串的相似:
array.slice(n, m),从索引n开始查找到m处(不包含m)
array.slice(n) 第二个参数省略,则一直查找到末尾
array.slice(0)原样输出内容,可以实现数组克隆
array.slice(-n,-m) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项
返回值:返回一个新数组
是否改变原数组:不改变
Array.splice(index,howmany,arr1,arr2…) ,用于添加或删除数组中的元素。从index位置开始删除howmany个元素,并将arr1、arr2…数据从index位置依次插入。howmany为0时,则不删除元素。
.every 全部符合才为true .some 一个符合就为true
Array.reduce(function),reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
indexOf() 检测当前值在数组中第一次出现的位置索引
参数:array.indexOf(item,start) item:查找的元素 start:字符串中开始检索的位置。
includes()
判断一个数组是否包含一个指定的值
参数:指定的内容
返回值:布尔值
是否改变原数组:不改变。