数组的常用方法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 ...
随机推荐
- world转.md
下载并安装 Writage,下载地址:http://www.writage.com/
- 复旦大学2018--2019学年第一学期高等代数I期末考试情况分析
一.期末考试成绩90分以上的同学(共21人) 周烁星(99).封清(99).叶雨阳(97).周子翔(96).王捷翔(96).张思哲(95).丁思成(94).陈宇杰(94).谢永乐(93).张哲维(93 ...
- Linux下复制文件
命令: cp -Rf /文件名1/* /文件名2 把文件夹1下的文件复制到文件2中(/* 表示复制文件夹1下的文件,不复制文件夹1)
- iP私网地址
私网地址范围:A类10.0.0.0~255.255.255 B类172.16.0.0~172.31.255.255 C类192.168.0.0~192.168.255.255
- flask No such command "init-db".
在Daily目录下,使用cmd窗口执行,不要使用IDE的命令行 set FLASK_APP=DLY set FLASK_ENV=development flask init_app
- 使用Keepalived配置主从热备实现Nginx高可用(HA)
Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务 ...
- poj2528 Mayor's posters (线段树+离散化)
恩,这区间范围挺大的,需要离散化.如果TLE,还需要优化一下常数. AC代码 #include <stdio.h> #include <string.h> #include & ...
- react native 0.55.4 rctsrwebsocket会崩溃的问题解决 直接原文覆盖
//// Copyright 2012 Square Inc.//// Licensed under the Apache License, Version 2.0 (the "Licens ...
- 使用subline作为Stata外部编辑器,并实现代码高亮
Sublime Text 3在Stata13/14/15 代码编辑中的辅助应用 更友好的格式请见: http://dfadf0be.wiz03.com/share/s/3vHv2-0ALQZE2v ...
- JVM-GC学习
http://blog.csdn.net/column/details/14851.html 地址记录