数组的常用方法concat,join,slice和splice的区别,map,foreach,reduce
1.concat()和join()
concat()是连对两个或两个数组的方法,直接可以将数组以参数的形式放入
join()是将数组中的所有元素放入一个字符串中,通俗点讲就是可以将数组转换成字符串
2.slice和splice的区别
相同点就是都是对字符串进行切割
在这里主要是不同点:
1.slice不仅可以对数组进行切割,还可以对字符串同样有效,但是splice只能对数组进行切割
2.slice执行后不会改变原有函数,而splice会
3.map(),foreach(),reduce(),filter()
map()方法会创建一个新的数组,其结果是该数组中的每个元素都会调用一个提供函数后返回的结果
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。
两个函数的不同点:
1.map()会创建一个新的数组,不会对原有数组进行改变
2.map()可以进行链式调用
reduce()是把结果继续和序列的下一个元素做累计计算
例如:[x1,x2,x3,x4].reduce(f)=f(f(f(x1,x2),x3),x4)
下面是对翻转字符串的三种方法:
1.第一种是利用了函数的回调
2.第二种则是通过reduce方法的有点
3.第三种看上去一目了然,不过是先将其转换成数组,再调用了reverse()方法,再转换成字符串。
- function reverse(str) {
- if (str.length === ) {
- return str
- }
- return str.slice(-) + reverse(str.slice(, -))
- }
- function reverse(str) {
- return str.split('').reduce((prev, next) => next + prev)
- }
- function reverse(str) {
- return str
- .split('')
- .reverse()
- .join('')
- }
初次总结,若有不对,还望指点。
数组的常用方法concat,join,slice和splice的区别,map,foreach,reduce的更多相关文章
- JS 中常见数组API使用方法(join、concat、slice、splice、reverce)
刚接触前端不久,个人觉得学习程序还是需要经常总结的.下面是我的一些知识的归纳总结,如果哪里说得不对的还请各位大神指点! 1.to str (1)String(arr)将数组中的每个元素转为字符串并用逗 ...
- JS数组slice()和splice()的区别
以前还是纯小白的时候,总会搞混JS数组的 slice() 和 splice() 方法.因为这2个方法名字太像了,就差一个字母,语法也有类似之处. 现在久了没用,有时候也会忘记,所以做一个总结来区 ...
- JS中的slice()和splice()的区别以及记忆方式
总结 splice()会改变原来的数组,返回的是被改变的内容,比如说通过splice删掉了某一项,那么返回的是删掉的这一项,当然还是会以数组的形式返回. slice不会对原数组进行改变,会返回一个新的 ...
- substr和substring,slice和splice的区别,js字符串截取和数组截取
本文参考了文章:https://blog.csdn.net/kenberkeley/article/details/50983734 博主已经总结得很好了,看完之后也能明白,不过还是觉得要自己动手敲一 ...
- slice 与 splice 的区别
slice: 定义一个数组:let b = ['a','b','c','d','e'] b:["a", "b", "c", "d& ...
- js中slice和splice的区别
言简意赅,直接上货. slice():该方法会返回一个新的数组,强调:新数组,并不会影响原来的数组.先来看看语法咋说:arrayObject.slice(start,end).其中,start必需,e ...
- 彻底弄懂slice和splice的区别
总觉得数组和字符串中的一些方法的使用很难记,可能是日常都是在学理论,缺少实际应用.不多说了,继续学习吧! 一句话先提前概括: slice(start,end) 从哪到哪开始删 splice(strt, ...
- js中常用数组方法concat join push pop slice splice shift
javascript给我们很多常用的 数组方法,极大方便了我们做程序.下面我们来介绍下常用的集中数组方法. 比如 concat() join() push() pop() unshift() shif ...
- 字符串和数组中split().toString(),join(),splice(),slice(),substr()和substring()
<!Doctype html> <head> <mate charset="utf-8"> <title>string change ...
随机推荐
- topcoder srm 610 div1
problem1 link 计算每个格子向上的最大高度.然后每个格子同一行前面的格子以及当前格子作为选取的矩形的最后一行,计算面积并更新答案. problem2 link 对于两个数据$(x_{1}, ...
- linux下 如何切换到root用户
默认安装完成之后并不知道root用户的密码,那么如何应用root权限呢? (1)sudo 命令 xzm@ubuntu:~$ sudo 这样输入当前管理员用户密码就可以得到超级用户的权限.但默认的情况 ...
- 【转】java线上程序排错经验2 - 线程堆栈分析
前言 在线上的程序中,我们可能经常会碰到程序卡死或者执行很慢的情况,这时候我们希望知道是代码哪里的问题,我们或许迫切希望得到代码运行到哪里了,是哪一步很慢,是否是进入了死循环,或者是否哪一段代码有问题 ...
- LeetCode120-Triangle-数组,动态规划
题目描述 Problem Description: Given a triangle, find the minimum path sum from top to bottom. Each ste ...
- IDEA 介绍
转载:https://blog.csdn.net/kanchaishaonian/article/details/81107210 前言:IntelliJ IDEA 如果说IntelliJ IDEA是 ...
- .Net Core 管道中的ConfigureServices 和Configure
ConfigureServices 就是配置服务器的DI容器 把需要的中间件等一些东西添加到DI容器 最后都是添加到IServiceCollection里面 比如 services.AddI ...
- [python]Git
Git 修改默认编辑器 git config –global core.editor vim 提交发生变化得文件 # 提交新文件(new)和被修改(modified)文件,不包括被删除(deleted ...
- MySQL 列出存储过程
MySQL 列出存储过程 接下来介绍如何列出MySQL数据库中的所有存储过程,并显示存储过程源代码的一些非常有用的语句. MySQL为提供了一些有用的语句,可以更有效地管理存储过程.这些语句包括列出 ...
- Python 入门小实例笔记
实例1:打印用户输入的姓名与手机号码知识点:编码,获取输入,变量,标准输出 #encoding=utf-8 import time #1.提示用户输入信息 name = input ("请输 ...
- Exception in thread "main" SettingsException[Failed to load settings from [elasticsearch.yml]]; nested: ElasticsearchParseException[malformed, expected end of settings but encountered additional conte
D:\elasticsearch\elasticsearch-2.4.0\bin>elasticsearchException in thread "main" Settin ...