码迷,mamicode.com
首页 > 编程语言 > 详细

javascript数组强大splice方法

时间:2015-04-17 07:16:29      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:javascript数组强大splice方法

Javascript中总有一些所谓的细节知识会让你目瞪口呆。

    前段时间,项目组新增一个需要,要求系统中所有显示时间的地方支持日期格式可定制

什么事日期格式可定制呢,在平常呢,我们看到的时间格式一般是“yyyy-MM-dd”形式的,现在要支持如下六种:

    yyyy-MM-dd  hh:mm:ss

MM-dd-yyyy hh:mm:ss

dd-MM-yyyy hh:mm:ss

yyyy/MM/dd hh:mm:ss

MM/dd/yyyy hh:mm:ss

dd/MM/yyyy hh:mm:ss

系统还特意有一个页面来定制系统的格式;一旦设定之后刷新页面系统多有模块设计时间格式的展示,全部变成最新设定的格式了。

简单支持这些还算简单;还有一种比较坑爹的是多页签操作;一个页签改了格式;另一个页面不刷新还得保持当前页面的格式(SE定的规格)。

现在的方案是:前台向后台发请求之前转一次成yyyy-MM-dd,然后后台的逻辑不用改变;后台返回数据时,再转成当前页面的格式。

现在呢,有个页面要传一个时间段字符串到后台查询,比如:

04/16/2015 19 :57:10~ 04/16/2015 21:57:10

这里就需要处理一下了。

var Eventtime ="04/16/2015 19 :57:10~ 04/16/2015 21:57:10";
Eventtime.split("~");//["04/16/201519 :57:10", "04/16/2015 21:57:10"]

然后遍历这个数组,每个元素再拆分为[04/16/2015”,“ 19 :57:10];然后将前半部分转换成最新格式yyyy-MM-dd,在替换第一个位子的值;之后再拼接成合法格式的eventTime传到后台;偶然间使用到了数组的splice()方法;忽然发现了,其强大的功能;分享给大家。

现在,就讲讲最强大的splice()函数了,它接受三个参数,可实现添加、删除、修改等不同的功能。看下w3school上它的语法,如下:

技术分享    下面举几个简单的例子实现,增删改的效果。

    添加元素

var arrJxj = [1,2,3,4,5,6];
undefined
arrJxj.splice(3,0,12,13,14);
[]
arrJxj
[1, 2, 3, 12, 13, 14, 4, 5, 6]
arrJxj.splice(3,1,15,16,17);
[12]
arrJxj
[1, 2, 3, 15, 16, 17, 13, 14, 4, 5, 6]

可以看到如果想添加元素的效果,第一个参数是想替换的位子,第二个参数为0;第三个参数就把该位置元素替换掉了;

    删除元素

arrJxj.splice(3,3);
[15, 16, 17]
arrJxj
[1, 2, 3, 13, 14, 4, 5, 6]
arrJxj.splice(3,2);
[13, 14]
arrJxj
[1, 2, 3, 4, 5, 6]

可以看到,如果不指定第三个参数,就可以实现删除特定位置的元素;

    修改元素

arrJxj
[1, 2, 3, 12, 13, 14]
arrJxj.splice(3,2,20,21);
[12, 13]
arrJxj
[1, 2, 3, 20, 21, 14]

第二个参数的数字,与第三个参数位数一样,就可以起到替换的效果。

当然,上面的例子其实改变了,数组本身;属于深拷贝,所以需要大家注意一下。


本文出自 “shuizhongyue” 博客,请务必保留此出处http://shuizhongyue.blog.51cto.com/7439523/1633661

javascript数组强大splice方法

标签:javascript数组强大splice方法

原文地址:http://shuizhongyue.blog.51cto.com/7439523/1633661

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!