JavaScript一些常用方法一
整理以前的笔记,在学习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一些常用方法一的更多相关文章
- php常用方法一
1.用户名用***替换 /** * 用户名中间用***替换 * @param string $str 需要替换的字符串 * @param int $len 需要替换的位数 * @param strin ...
- Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->使用spring framework的IoC容器功能----->方法一:使用XML文件定义beans之间的依赖注入关系
XML-based configuration metadata(使用XML文件定义beans之间的依赖注入关系) 第一部分 编程思路概述 step1,在XML文件中定义各个bean之间的依赖关系. ...
- JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]
二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...
- JBOSS通过Apache负载均衡方法一:使用mod_jk
JBOSS通过Apache负载均衡方法一:使用mod_jk 本文第一.二节分别对Linux环境下前端使用Apache以及windows环境下前端使用IIS通过AJP协议和后端的JBOSS通信实现负 ...
- 一个分门别列介绍JavaScript各种常用工具的脑图
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:一个分门别列介绍JavaScript各种常用工具的脑图.
- JavaScript 中常用的 正则表达式
这编文章我来整理了一些在 javascript 中常用的正则式希望能给大家带来一些开发的灵感 //校验是否全由数字组成 function isDigit(s) { var patrn=/^[0-9]{ ...
- javascript中常用坐标属性offset、scroll、client
原文:javascript中常用坐标属性offset.scroll.client 今天在学习js的时候觉得这个问题比较容易搞混,所以自己画了一个简单的图,并且用js控制台里面输出测试了下,便于理解. ...
- centos6.5下oracle11g开机自动启动方法一
转裁于 方法一 https://blog.csdn.net/wx5040257/article/details/77875690 方法二 https://blog.csdn.net/wx504025 ...
- mybatis由浅入深day02_2一对一查询_2.2方法一:resultType
2 一对一查询 2.1 需求(查询所有订单信息,关联查询创建订单的用户信息) 查询所有订单信息,关联查询创建订单的用户信息 注意:因为一个订单信息只会是一个人下的订单,所以从查询订单信息出发关联查询用 ...
随机推荐
- LAMP环境的搭建(二)----Mysql安装与配置
Mysql是一款免费开源的关系型数据库. 尽管Mysql被oracle公司收购.但是oracle并没有限制了mysql的发展. 目前mysql是使用范围最广的关系型数据库,许多大型公司也在使用.截至本 ...
- JDK安装图解
JDK安装部分.. ---------- 此处是一个JDK下载链接:http://www.cr173.com/soft/14290.html 首先是解压下载的JDK安装包.然后右键以管理员身份运行. ...
- BotVS开发基础—2.1 账户、行情、K线、深度
代码 import json def main(): Log("账号信息:", exchange.GetAccount()); # Log("K 线数据:", ...
- 横排列表(li)的左右对齐
效果如下: HTML代码如下: <div class="overdiv"> <ul> <li>1</li> <li>2& ...
- 一文教你迅速解决分布式事务 XA 一致性问题
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯云数据库团队 近日,腾讯云发布了分布式数据库解决方案(DCDB),其最明显的特性之一就是提供了高于开源分布式事务XA的性能.大型 ...
- Ubuntu 14.04 安装LNMP(nginx/1.12.1+php7.1.9+mysql5.7.19)环境
这篇教程中,我们将讨论怎样在Ubuntu 14.04搭建LNMP环境 1 安装Nginx 首先我们要更新apt源 sudo add-apt-repository ppa:nginx/stable s ...
- 小而美的 React Form 组件
背景 之间在一篇介绍过 Table 组件< React 实现一个漂亮的 Table > 的文章中讲到过,在企业级后台产品中,用的最多且复杂的组件主要包括 Table.Form.Chart, ...
- input标签新增属性
<input list='list_t' type="text" name='user' placeholder='请输入姓名' value="" / ...
- js函数防抖、节流实现
防抖 Debounce 函数防抖就是,延迟一段时间再执行函数,如果这段时间内又触发了该函数,则延迟重新计算: // 简单实现 function debounce(fn, wait) { let t r ...
- Android学习记录:Paint,Canvas和Bitmap
在Java中,利用过双缓冲技术,先将画笔画在内存上,再转化为图片,调出来. 当画的东西过多造成处理不过来时,双缓冲技术将防止闪屏. 在Paint方法下,我们这样写: BufferedImage tmp ...