1、迭代数组

1)map 方法会迭代数组中的每一个元素,并根据回调函数来处理每一个元素,最后返回一个新数组。注意,这个方法不会改变原始数组

  1. //例子
  2. var oldArray = [1,2,3,4,5];
  3.  
  4. var newArray = oldArray.map(function(oldArray){
  5. return oldArray+=3;
  6. });

   2)reduce 方法迭代一个数组,传入一个回调函数,这个回调函数的参数是一个 累加器 (比如例子中的previousVal) 和当前值 (currentVal

  1. //例子1
  2.  
  3. var singleVal = array.reduce(function(previousVal, currentVal) {
  4. return previousVal - currentVal;
  5. }, 0);
  6.  
  7. //reduce 方法有一个可选的第二参数,它可以被用来设置累加器的初始值。如果没有在这定义初始值,那么初始值将变成数组中的第一项,而 currentVal 将从数组的第二项开始。
  1. //例子2
  2.  
  3. var array = [4,5,6,7,8];
  4. var singleVal = 0;
  5.  
  6. var array=array.reduce(function(array,singleVal){
  7. return array+singleVal;
  8. });
  9. singleVal = array;
  10.  
  11. //使用 reduce 方法来让 array 中的所有值相加,并且把结果赋值给 singleVal 。

3)filter 方法用来迭代一个数组,并且按给出的条件过滤出符合的元素。

前言:filter 方法传入一个回调函数,这个回调函数会携带一个参数,参数为当前迭代的项(我们叫它 val)。回调函数返回 true 的项会保留在数组中,返回false 的项会被过滤出数组。

  1. //例子1
  2.  
  3. array = array.filter(function(val) {
  4. return val !== 5;
  5. });
  6.  
  7. //使用 filter 来移除数组中值等于5的项
  8.  
  9. //例子2
  10.  
  11. var oldArray = [1,2,3,4,5,6,7,8,9,10];
  12.  
  13. var newArray =oldArray.filter(function(oldArray){
  14. return oldArray<6;
  15. });
  16.  
  17. //使用 filter 来创建一个新数组,新数组的值是 oldArray 中值小于6的元素。不改变原数组 oldArray的前提下 。

2、sort 方法:按字母顺序或数字顺序对数组中的元素进行排序

前言:sort 可以把比较函数作为参数传入。比较函数有返回值,

1)当 a 小于 b,返回一个负数(按从大到小的顺序排序);

2)当 a大于 b ,返回一个正数(按从小到大的顺序排序);

3)相等时返回0。

  1. //例子1
  2. var array = [1, 12, 21, 2];
  3. array.sort(function(a, b) {
  4. return a - b;
  5. });
  6. //传入的比较函数把元素按照从小到大的顺序进行排列
  7.  
  8. //例子2
  9. var array = [1, 12, 21, 2];
  10. array.sort(function(a,b){
  11. return b-a;
  12. });
  13. //按照从大到小的顺序排序 array

3、reverse 方法来翻转数组:

  1. //例子
  2.  
  3. var myArray = [1, 2, 3];
  4. myArray.reverse();
  5.  
  6. //结果myArray 变成了 [3, 2, 1]

4、concat 方法可以用来把两个数组的内容合并到一个数组中

前言:concat 方法的参数应该是一个数组。参数中的数组会拼接在原数组的后面,并作为一个新数组返回

  1. //例子1
  2.  
  3. newArray = oldArray.concat(otherArray);
  4.  
  5. //用concat 把 otherArray 拼接在 oldArray 的后面:
  6.  
  7. //例子2
  8.  
  9. var oldArray = [1,2,3];
  10. var newArray = [];
  11. var concatMe = [4,5,6];
  12. newArray = oldArray.concat(concatMe);
  13.  
  14. //使用 .concat() 将 concatMe 拼接到 oldArray 后面,并且赋值给 newArray。

5、split 方法按指定分隔符将字符串分割为数组。split 方法传递一个参数,这个参数将会作为一个分隔符

  1. //例子
  2.  
  3. var string = "Split me into an array";
  4. var array = [];
  5. array = string.split(" ");
  6.  
  7. //使用空格( " " )来分割字符串。

6、join 方法来把数组转换成字符串,里面的每一个元素可以用你指定的连接符来连接起来,这个连接符就是你要传入的参数。

  1. //例子1
  2.  
  3. var veggies = ["Celery", "Radish", "Carrot", "Potato"];
  4. var salad = veggies.join(" and ");
  5. console.log(salad); // "Celery and Radish and Carrot and Potato"
  6.  
  7. //使用 join 来将数组中的每一项放入字符串,并用 and 进行连接
 

JavaScript功能规划的基本语法总结的更多相关文章

  1. 【开源】OSharp3.0框架解说系列:新版本说明及新功能规划预览

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  2. JavaScript功能检测技术和函数构造

    Javascript与很多编程语言不同,它不能够控制其运行环境.再写php代码时,只要在服务器端部署了正确的版本,那么程序就绝对能够运行,对于其他python或ruby后端语言来说,也不存在什么灰色区 ...

  3. 构建NetCore应用框架之实战篇(三):BitAdminCore框架功能规划选择

    本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性. 构建NetCore应用框架之实战篇系列 一.BitAdminCore功能规划 如何选择框架的落地功能,前篇文章 ...

  4. 如果您的浏览器不支持javascript功能

    如果您的浏览器不支持javascript功能或被禁止使用,那么在访问许多网站(包括此网站)时,某些功能将不可用.我们建议您打开javascript功能以获得最佳的浏览效果.以下是打开它的可能原因和方法 ...

  5. 【Gin-API系列】需求设计和功能规划(一)

    场景需求 数据库存储2个模型,每个模型都有一个或多个IP字段,需要通过 Golang Http Api(Restful Api) 返回 IP 信息. 模型1 - 服务器 ID 主机名 IP 内存大小 ...

  6. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  7. javascript 学习一(概述+基本语法)

    http://js.do/ 概述 JavaScript :脚本语言 诞生于1995年. javascript 1.0,发布于Netscape Navigator 2  @1996年3月 布兰登·艾奇( ...

  8. JavaScript基础(简介、语法)

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  9. javascript功能插件大集合,写前端的亲们记得收藏

    伯乐在线已在 GitHub 上发起「JavaScript 资源大全中文版」的整理.欢迎扩散.欢迎加入. https://github.com/jobbole/awesome-javascript-cn ...

随机推荐

  1. mysql 5.5 mysqldump备份原理

    开启general_log日志,获取mysqldump执行语句 show VARIABLES like 'general_log%' set GLOBAL general_log=on 执行备份命令 ...

  2. Object转换为字符并去空格

    <div id="txt" style="display:none">1."不积跬步,无以至千里"的古语说明( A ) A.没有 ...

  3. netty入门篇(1)

    上一篇 nio简介  下一篇 netty中级篇(2) 一.为什么选择Netty Netty是最流行的框架之一.健壮性.功能.性能.可定制性和可扩展性在同类框架中首屈一指,因此被大规模使用,例如ROCK ...

  4. C语言指针、地址、赋值三者含义

    先来一个观点.大家先看看对不对 按:在CSDN论坛上,有位坛友提到这个问题: ==================================== 先看一段代码: #include<stdi ...

  5. Java: MissingResourceException, "Can't find bundle for base name myMessage, locale zh_CN"

    在java中,在多语言国际化时可以用 *.java 类来作为资源文件使用. 1. 首先定义类, 类必须继承ListResourceBundle 类所在路径为: src/I18N public clas ...

  6. android 开发心得杂记

    1.Android周刊关注. 2.4季Android性能优化典范 胡凯 http://mp.weixin.qq.com/s?__biz=MzA4NTQwNDcyMA==&mid=4021354 ...

  7. linux 下查看cpu是几核的

    几个cpu more /proc/cpuinfo |grep "physical id"|uniq|wc -l 每个cpu是几核(假设cpu配置相同) more /proc/cpu ...

  8. 第 2 章 Node.js 中的交互式运行环境 —— REPL

    本章内容包括: 如何使用REPL运行环境以及如何在该运行环境中测试各种JavaScript表达式. 如何定义并启动REPL运行环境. Node.js 框架中为REPL运行环境提供了哪些命令以及这些命令 ...

  9. Dom编程(一)

    dom:document object model 文档对象模型 1.事件 body 事件:onload onunload onbeforeunload body.document对象的事件 (1)o ...

  10. 利用PyCharm进行Python远程调试

    背景描述 有时候Python应用的代码在本地开发环境运行十分正常,但是放到线上以后却出现了莫名其妙的异常,经过再三排查以后还是找不到问题原因,于是就在想,要是可以在服务器环境中进行单步跟踪调试就好了. ...