字符串数组转换
-
字符串.toString()
把数组转化为字符串,返回字符串
-
字符串.join('分隔符')
把数组转化为字符串,自定义分隔符,返回字符串
-
字符串.split('分隔符',个数)
把字符串转化成数组,返回新数组
-
Array.prototype.slice.call(字符串)
在对象原型上的方法,把字符串或散开的元素转化为数组,返回新数组
-
Array.from(字符串),返回
在对象上的方法,把字符串转化为数组,返回新数组
改变数组的内容
-
数组.push(新增元素)
在数组末尾加一个元素,改变原数组
-
数组.pop()
在数组末尾弹出一个元素,改变原数组
-
数组.unshift(新增元素)
在数组开头加一个元素,改变原数组
-
数组.shift()
在数组开头弹出一个元素,改变原数组
-
数组.slice(开始位置,结束位置)
返回切割下来的新数组,左闭右开,如果没有结束位置切到最后,如果没有参数复制一份原数组,支持负数,原数组不改变
-
数组.splice(截取开始位置,截取长度,插入内容)
返回切割下来的新数组,原数组被切割,支持负数
-
数组.fill(修改的值,开始位置,结束位置)
改变原数组
-
数组.concat(散列的值/一维数组)
返回新的数组,不改变原数组,在数组后拼接值
-
[...数组,散列的值]
在数组后拼接值
数组排序
-
数组.sort(function(){return 负值/正值})
没有参数时,原数组默认由小到大排序,return负值由大到小,return复制由小到大
-
数组.reverse()
颠倒原数组顺序
-
Math.random()和sort()实现随机由大到小或由小到大
数组.sort(function(){return Math.random()-0.5})
创建数组
-
Array.of(散列的值)
是对象上的方法,避免new array(单个值)的歧义,创建新数组
数组查找
-
数组.indexOf(查找的元素)
从左到右查找元素位置,返回第一个符合的元素下标
-
数组.lastIndexOf(查找的元素)
从右到左查找元素位置,返回第一个符合的元素下标
-
数组.includes(查找的元素)
查找数组中是否有这个元素,有返回true,没有返回fales
-
数组.find(function(item){return 条件})
查找数组中符合条件的元素,返回第一个符合的元素值
-
数组.findIndex(function(item){return 条件})
查找数组中符合条件的元素,返回第一个符合的下标
对象的(键)/(值)/(键值)组成的数组
- Object.keys(对象)/arr.keys(),返回由键组成的数组
- Object.values(对象)/arr.values(),返回由值组成的数组
- Object.entries(对象)/arr.entries(),返回(键值数组)([key,values])组成的数组
对象遍历
-
forEach
参数是项、索引、原数组
没有返回值
空数组不走、稀疏数组空的地方不走、对比for都走
不能用continue或break跳出循环
类数组不能用forEach,1)[...类数组].forEach(参数) , 2) Array.prototype.forEach.call(类数组,参数)
arr.forEach(function(item,index,arr){},上下文)
Array.prototype.forEach.call(数组,function(item,index,arr){},上下文)
-
map
可以return一个和原数组产生映射关系的新数组
默认返回undefined
-
filter
通过return返回的布尔值,判断是否留下该项,过滤器
-
some
数组中一个成员通过判断,返回true
-
every
数组中所有成员通过判断,返回true
-
reduce
为了返回一个值,累加器,数值,字符串,数组等累加
array.reduce(function(前面累计的值默认0,这项的值,这项的下标,原数组){},初始值)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了