整理以前的笔记,在学习JavaScript时候,经常会用到一些方法,但是有时忘掉了具体用法,因此记下。方便以后查阅。

这篇博文先说明这些方法的用途:

splice()、push()、pop() 、shift()、unshift()、hasOwnProperty() 、match() 、map() 、reduce()、filter()

一、 .splice()

通过删除现有元素和/或添加新元素来更改数组的内容

例如:

var myFish = ["angel", "clown", "mandarin", "surgeon"];
//从第 2 位开始删除 0 个元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//运算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被删除元素数组:[],没有元素被删除
console.log("1:"+removed+"---"+myFish); //1:---angel,clown,drum,mandarin,surgeon
//从第 3 位开始删除 1 个元素
removed = myFish.splice(3, 1);
//运算后的myFish:["angel", "clown", "drum", "surgeon"]
//被删除元素数组:["mandarin"]
console.log("2:"+removed+"---"+myFish); //2:mandarin---angel,clown,drum,surgeon
//从第 2 位开始删除 1 个元素,然后插入 "trumpet"
removed = myFish.splice(2, 1, "trumpet");
//运算后的myFish: ["angel", "clown", "trumpet", "surgeon"]
//被删除元素数组:["drum"]
console.log("3:"+removed+"---"+myFish);//3:drum---angel,clown,trumpet,surgeon
//从第 0 位开始删除 2 个元素,然后插入 "parrot", "anemone" 和 "blue"
removed = myFish.splice(0, 2, "parrot", "anemone", "blue");
//运算后的myFish:["parrot", "anemone", "blue", "trumpet", "surgeon"]
//被删除元素的数组:["angel", "clown"]
console.log("4:"+removed+"---"+myFish);//4:angel,clown---parrot,anemone,blue,trumpet,surgeon
//从第 3 位开始删除 2 个元素
removed = myFish.splice(3, Number.MAX_VALUE);
//运算后的myFish: ["parrot", "anemone", "blue"]
//被删除元素的数组:["trumpet", "surgeon"]
console.log("5:"+removed+"---"+myFish);//5:trumpet,surgeon---parrot,anemone,blue

二、.push()

一个或多个参数添加到数组末尾

例如:

var arr = [1,2,3];
arr.push(4); // 现在arr的值为 [1,2,3,4]

三、.pop()

“抛出”一个数组末尾的值

例如:

var arr=[1, 4, 6]
var oneDown = arr.pop();//现在 oneDown 的值为 6 ,arr变成了 [1, 4]

四、.shift()

“移出”一个数组的第一个并赋值

例如:

var arr=[1, 4, 6]
var oneDown = arr.shift();//现在 oneDown 的值为 1 ,arr变成了 [4, 6]

五、.unshift()

头部添加元素

例如:

var arr = [1,2,3];
arr.unshift(4); // 现在arr的值为 [4,1,2,3]

六、.hasOwnProperty()

检查对象是否有该属性

例如:

var myObj = {
top: "hat",
bottom: "pants"
};
myObj.hasOwnProperty("top"); // true
myObj.hasOwnProperty("middle"); // false

七、 .match()

匹配字符使用

例如:

   var testString = "Hello World! How are you!Haha";  //定义一个字符串

//设置要查找的格式
/* / 是这个正则表达式的头部
h 是我们想要匹配的模式
/ 是这个正则表达式的尾部
g 代表着 global(全局),意味着返回所有的匹配而不仅仅是第一个。
i 代表着忽略大小写,意思是当我们寻找匹配的字符串的时候忽略掉字母的大小写。
*/
var expressionToGetSoftware = /h/gi;
var softwareCount = testString.match(expressionToGetSoftware).length;//softwareCount为4

八、 .map()

迭代数组

例如:

var oldArray = [1,2,3,4,5];
var newArray = oldArray.map(function(val){
return val+3;
});
console.log(newArray); //[4, 5, 6, 7, 8]

九、 .reduce()

迭代一个数组,并且把它累积到一个值中

例如:

var array = [4,5,6,7,8];
var singleVal = 0;
// 累加器 和当前值
singleVal = array.reduce(function(qq,ww){
console.log("qq:"+qq+",ww:"+ww); //qq:4,ww:5 qq:9,ww:6 qq:15,ww:7 qq:22,ww:8
return qq+ww;
});
console.log(singleVal); //30

十、 .filter()

迭代一个数组,并且按给出的条件过滤出符合的元素

例如:

var oldArray = [1,2,3,4,5,6,7,8,9,10];
var newArray = oldArray.filter (function(val){
return val<6; //保留小于6的数据
});
console.log(newArray); //[1, 2, 3, 4, 5] //删除数组中的所有假值。在JavaScript中,假值有false、null、0、""、undefined 和 NaN。
//通过filter方法来过滤掉假值
function bouncer(arr) {
var newarr=arr.filter(function(val){
return !!val;
});
return newarr;
}
//判断是否是真值,如果不是就过滤掉
function bouncer(arr) {
return arr.filter(Boolean);
} console.log(bouncer([7, "ate", "", false, 9])); //[7, "ate", 9]
console.log(bouncer([false, null, 0, NaN, undefined, ""])); //[]
console.log(bouncer([1, null, NaN, 2, undefined])); // [1, 2]

JavaScript一些常用方法一的更多相关文章

  1. php常用方法一

    1.用户名用***替换 /** * 用户名中间用***替换 * @param string $str 需要替换的字符串 * @param int $len 需要替换的位数 * @param strin ...

  2. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系

    XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...

  3. JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]

    二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...

  4. JBOSS通过Apache负载均衡方法一:使用mod_jk

    JBOSS通过Apache负载均衡方法一:使用mod_jk   本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...

  5. 一个分门别列介绍JavaScript各种常用工具的脑图

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:一个分门别列介绍JavaScript各种常用工具的脑图.

  6. JavaScript 中常用的 正则表达式

    这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{ ...

  7. javascript中常用坐标属性offset、scroll、client

    原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...

  8. centos6.5下oracle11g开机自动启动方法一

    转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二  https://blog.csdn.net/wx504025 ...

  9. mybatis由浅入深day02_2一对一查询_2.2方法一:resultType

    2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...

随机推荐

  1. JDK安装图解

    JDK安装部分.. ---------- 此处是一个JDK下载链接:http://www.cr173.com/soft/14290.html 首先是解压下载的JDK安装包.然后右键以管理员身份运行. ...

  2. Apache Kafka系列(五) Kafka Connect及FileConnector示例

    Apache Kafka系列(一) 起步 Apache Kafka系列(二) 命令行工具(CLI) Apache Kafka系列(三) Java API使用 Apache Kafka系列(四) 多线程 ...

  3. ID3算法(2)

    今天,我来讲解的是决策树.对于决策树来说,主要有两种算法:ID3算法和C4.5算法.C4.5算法是 对ID3算法的改进.今天主要先讲ID3算法,之后会讲C4.5算法和随机森林等. Contents   ...

  4. C#使用Xamarin开发可移植移动应用进阶篇(9.混淆代码,防止反编译)

    前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 今天讲讲如 ...

  5. Redis使用记录-相关资料汇总

    1 redis在centos上的安装 http://www.cnblogs.com/hanyinglong/p/5036558.html 2 redis在windows上的可视化GUI工具 https ...

  6. dbUtils的基本使用

    dbUtils是对JDBC的完全封装,只需要导入连接池,添加sql语句,dbUtils就可以返回各种封装形式的结果集. 如果纯手动的话,在DAO层使用JDBC查询一个语句的话,需要以下几步: 1创建C ...

  7. Django 学习笔记(七)数据库基本操作(增查改删)

    一.前期准备工作,创建数据库以及数据表,详情点击<Django 学习笔记(六)MySQL配置> 1.创建一个项目 2.创建一个应用 3.更改settings.py 4.更改models.p ...

  8. c++非STL全排列

    #include <cstdio> #include <vector> #include <string> #include <iostream> #i ...

  9. MatplotLib常用基本操作

    本文记录matlibplot常用基本操作,都是基本功能,不涉及复杂联合操作,其中各用法详细用法可参考官网: 1. 基本画图操作 ##mofan_matplotlib.pyplot import mat ...

  10. git 工作流介绍

    GIT Git工作流你可以理解为工作中团队成员遵守的一种代码管理方案,在Git中有以下几种工作流方案作为方案指导: 集中式工作流 功能开发工作流 Gitflow工作流 Forking工作流 下面针对性 ...