这篇我主要记录一些在工作中常用的、实用的方法。

String

trim

字符串方法中的trim主要用来去空格使用,很多时候,在后台做参数处理的时候,我们都会使用该方法,比如在获取用户输入的账户时

var a = String(' 1234         ');
var b = "hello world"; console.log(b.trim()); //hello world
console.log(a.trim()); //1234
console.log(a); // 1234

以上,可以看出,trim方法去掉的是两头的空格,对中间的空格并不会产生影响。值得注意的是,trim方法,返回的是一个新的字符串,对原来的变量没有影响。

slice

slice方法用于切割字符串,用到的地方挺多的,比如在处理文件流的时候,我们就可以用slice来切割,当然,大多时候,也就仅仅是对字符串做一个简单处理

var b = "hello world, I like you";

console.log(b.slice(13)); //I like you
console.log(b.slice(15,20)); //like
console.log(b.slice(15,-4)); //like
console.log(b); //hello world, I like you

slice方法,支持传入两个参数,开始位置与结束位置,传入负数时,代表此次计数从末尾开始。

split

split方法用于将字符串分组存放,是常用的方法之一。能够让我们对分组好的字符串进行分组操作

var b = "hello world, I like you, and you?";

console.log(b.split()); //[ 'hello world, I like you, and you?' ]
console.log(b.split('')); //["h","e","l","l","o"," ","w","o","r","l","d",","," ","I",
" ","l","i","k","e"," ","y","o","u",","," ","a","n","d"," ","y","o","u","?"]
console.log(b.split(' ')); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]
console.log(b.split(' ',3)); //[ 'hello', 'world,', 'I' ]

以空字符分组的时候,会将字符串按每一个字符来分组,这点很实用,可以按字符分组,想想都会觉得程序的世界也是鸟语花香啊~

substr、substring

都是用来截取字符串的,substr方法,支持传入两个参数,一个是开始位置,一个是截取长度,而substring的两个参数一个是开始位置,一个是结束位置

var b = "hello world, I like you, and you?";

console.log(b.substr()); //hello world, I like you, and you?
console.log(b.substr(13,10)); //I like you
console.log(b.substring(15,-9)); //hello world, I
console.log(b.substring(15,-1)); //hello world, I

由此可见,substr、substring和slice这三者来说,各有所长(╯°O°)╯┻━┻
你能体会么~不能体会的就留个言咯

Array

filter

filter能够按一定条件筛选出满足条件的数据,比如在后台处理mongdb的id时,前台传过来的id必须得满足id.trim().length === 24

var b = [ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ];

console.log(b.filter(function (item){
return item.length < 5;
})); //[ 'I', 'like', 'you,', 'and', 'you?' ]

concat

concat方法能够将多个数组组合成一个数组,这在异步处理数据最后进行组装的时候特别有用

var b = [ 'hello', 'world,', 'I', 'like'];
var a = [ 'you,', 'and', 'you?' ];
var c = [[1],[2]]; console.log(b.concat(a)); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]
console.log(b.concat(a).concat(c)); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?', [ 1 ], [ 2 ] ]

很多时候,在最后处理数据的时候,这种数组中嵌套了数组的情况是比较烦的,不过很简单,underscore有方法能够轻松解决它,你知道吗?(๑•́ ₃ •̀๑)

forEach

forEach应该是用的最多的方法了吧,它的作用就是遍历数组中的每一个值,然后你就可以对每一个值进行操作了

var b = ['hello', 'world,', 'I', 'like', 'you,', 'and', 'you?'];

b.forEach(function (ele, index) {
ele = ele + 1;
});
console.log(b); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]

关于forEach,更准确的说对于Javascript中的对象,我一直觉得自己的理解已经够解决遇到的一般问题了,但是这个forEach还是给我带来了难题。比如上面这个,我对ele进行改变之后,b数组并没有按照我想象中的改变,结果是一成不变。而在在我的经历中,forEach中对遍历的值进行改变,它最终的结果使能够被改变的。因此,在这个变与不变之间,我没有找到一条清晰的分界线…

map

说了forEach怎么可以没有map,同是遍历数组中的每一个值,map能够将对这些值的操作进行返回为一个新的数组

var b = ['hello', 'world,', 'I', 'like', 'you,', 'and', 'you?'];

console.log(b.map(function (ele){
ele = ele + 1;
return ele;
})); //[ 'hello1', 'world,1', 'I1', 'like1', 'you,1', 'and1', 'you?1' ]

reduce

再说说这个reduce吧,reduce方法遍历数组的每一个值,操作自己定,最后返回一个做了这些累积操作的值,常用来算和吧,实用的呢,它能够产生比filter更强力的功效,这个自己体会吧~

var summary = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(summary.reduce(function (pre, cur) {
pre += cur;
return pre;
}, 0)); //45

今天就先写这么多吧,细水长流~

你可以很厉害,也可以很坚强,baby~

如想了解更多,请移步我的博客

Javascript实用方法的更多相关文章

  1. Javascript实用方法二

    承接上一篇, Object keys object的keys方法能够获取一个给定对象的所有键(key/属性名)并以数组的形式返回.这个方法可以用于键的筛选.匹配等. var basket = { st ...

  2. 基于 es6 的 javascript 实用方法

    一.求数字数组的平均数 - 使用 数组的 reduce() 方法将每个值添加到累加器,初始值为0,总和除以数组长度. const average = arr => arr.reduce((acc ...

  3. JavaScript 实用方法

    1.按时间显示问候语 2.强制光标停留位置 3.保存页面文本 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN& ...

  4. javascript代码实用方法实现

    javascript代码实用方法实现   针对现在大家平时开发中,都会写一些重复性的js处理代码,今天总结了几个比较常用的方法实现.获取get请求参数.去字符串空格.   1.获取get请求中的参数  ...

  5. javascript实用技巧、javascript高级技巧

    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...

  6. 在Swift中使用JavaScript的方法和技巧

    本文作者Nate Cook是一位独立的Web及移动应用开发者,是继Mattt大神之后NSHipster的主要维护者,也是非常知名活跃的Swift博主,并且还是支持自动生成Swift在线文档的Swift ...

  7. js实用方法记录-js动态加载css、js脚本文件

    js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...

  8. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

  9. 《JavaScript实用效果整理》系列分享专栏

    整理一些使用的JavaScript效果,在Web开发中遇到的比较好的动态效果,都收藏在这里,对以后的网站开发增加不少的色彩 <JavaScript实用效果整理>已整理成PDF文档,点击可直 ...

随机推荐

  1. SSH实战 · 唯唯乐购项目(上)

    前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根 ...

  2. CSS float 浮动属性

    本篇主要介绍float属性:定义元素朝哪个方向浮动. 目录: 1. 页面布局方式:介绍文档流.浮动层以及float属性. 2. float:left :介绍float为 left 时的布局方式. 3. ...

  3. html与html5

    HTML 是一种在 Web 上使用的通用标记语言.HTML 允许你格式化文本,添加图片,创建链接.输入表单.框架和表格等等,并可将之存为文本文件,浏览器即可读取和显示.HTML 的关键是标签,其作用是 ...

  4. Bootstrap 模态框(Modal)插件

    页面效果: html+js: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. Android调用微信登陆、分享、支付

    前言:用了微信sdk各种痛苦,感觉比qq sdk调用麻烦多了,回调过于麻烦,还必须要在指定包名下的actvity进行回调,所以我在这里写一篇博客,有这个需求的朋友可以借鉴一下,以后自己别的项目有用到也 ...

  6. Go web开发初探

    2017年的第一篇博客,也是第一次写博客,写的不好,请各位见谅. 本人之前一直学习java.java web,最近开始学习Go语言,所以也想了解一下Go语言中web的开发方式以及运行机制. 在< ...

  7. C#发送邮箱

    之前自己从来没有做过发送邮箱的功能,前段时间项目需要,在找了很多帖子之后,终于实现了. 之后有整理了一下,写了一个类.直接给类传递信息,就可以发送了. 这里还需要说明的是,发送邮箱需要开通POP3/S ...

  8. PHP设计模式(八)桥接模式(Bridge For PHP)

    一.概述 桥接模式:将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果. 二.案例 1.模拟毛笔(转) 需求:现在需要准备三种粗细(大中小),并且有五种颜色的比 如果使用蜡 ...

  9. Android之三种网络请求解析数据(最佳案例)

    AsyncTask解析数据 AsyncTask主要用来更新UI线程,比较耗时的操作可以在AsyncTask中使用. AsyncTask是个抽象类,使用时需要继承这个类,然后调用execute()方法. ...

  10. Xcode 锁终端

    锁终端 输入: <1>cd /Applications/Xcode.app 回车 结果显示: Xcode.app 输入: <2>sudo chown -hR root:whee ...