js截取时间段

需求:后台需要保存一个时间段的值,根据element ui提供的时间段选择组件保存的是一个数组,所以需要前端先装换查字符串,提交给后台,数据在组件回显的时候又需要将其转换数组,所以下面先总结一下数组转字符串和字符串转数组的方法:

1、js数组转字符串

1、toString()

var a = [1,2,3,4,5,6,7,8,9,0]; //定义数组
var s = a.toString();  //把数组转换为字符串
console.log(s);  //返回字符串“1,2,3,4,5,6,7,8,9,0”
console.log(typeof s);  //返回字符串string,说明是字符串类型

2、join(‘指定字符’)
join() 方法可以把数组转换为字符串,不过它可以指定分隔符。在调用 join() 方法时,可以传递一个参数作为分隔符来连接每个元素。如果省略参数,默认使用逗号作为分隔符,这时与 toString() 方法转换操作效果相同。

var a = [1,2,3,4,5]; //定义数组
var s = a.join('-');  //把数组根据 ','符号转换为字符串
console.log(s);  //返回字符串“1-2-3-4-5”

2、字符串转数组

1、split()
split() 方法是 String 对象方法,与 join() 方法操作正好相反。该方法可以指定两个参数,第 1 个参数为分隔符,指定从哪儿进行分隔的标记;第 2 个参数指定要返回数组的长度。

var s = "1-2-3-4-5";
var a = s.split("-");
console.log(a); //[1,2,3,4,5]
console.log(a.constructor == Array); //true

3、字符串截取方法

substring()、substr()、slice()都有截取字符串的作用
1、substring()

str.substring(indexStart, [indexEnd])
//1、substring()从提取的字符indexStart可达但不包括 indexEnd
//2、如果indexStart 等于indexEnd,substring()返回一个空字符串。
//3、如果indexEnd省略,则将substring()字符提取到字符串的末尾。
//4、如果任一参数小于0或是NaN,它被视为为0。
//5、如果任何一个参数都大于stringName.length,则被视为是stringName.length。
//6、如果indexStart大于indexEnd,那么效果substring()就好像这两个论点被交换了一样; 例如,str.substring(1, 0) == str.substring(0, 1)

2、substr()

str.substr(start, [length])

3、slice()

str.slice(beginIndex[, endIndex])

4、时间段只显示时间

在这里插入图片描述
在这里插入图片描述
将后台返回的element ui 中时间段选择组件的数据,转换成如上图显示的结果的过滤器方法如下:

    getTime() {
      const timeArr = arguments[0].split(',')
      let index = -1
      let str = ''
      for (let i = 0; i < timeArr.length; i++) {
        index = timeArr[i].indexOf(':')
        if (index !== -1) {
          str += timeArr[i].substr(index - 2, 8) + '-'
        }
      }
      return str.slice(0, str.length - 1) //去掉字符串最后一位
    }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经过数20天的开发,shearphoto的第一个版本终于完成, 我开发shearphoto的全因是切图,截图这类WEB插件实在太少,我特此还专门在网上下载过几个关于截图插件, 基本上互联网上所有的截图插件我都看过了一遍,压根没有令我满意的,要不功能太小,要不BUG超多 要不都基于FLASH的,基于FLASH的截图很不好,扩展性非常差,不方便二次开发这是一个重点问题。 还有些截图插件是收费200块去版权,本来就不怎么让人满意,还收费呢!我就不点名是哪个截图插件了。 于是就想到自己开发一个这样的插件。 本人开发shearphoto前提,首先是不会对代码进行加密,所有代码都是开源的,必须兼容目前所有浏览器(包括IE6)。 也就是说你可以对shearphoto任意修改!另外shearphoto不会对你收取任何费用,当然如果你要找本人定制开发就另谈了! 再说说这20天开发,那简直就是人间炼狱,每天12小时,烟量不段增加,无数的开发难题困扰着,光插件内的JS方法重写,就超过5次。 重写又重写,重写又有BUG,很多时候,真的无法解决了,我想过放弃,做这种插件首先不赚钱,还占用大量的时间。 每次想到放弃,我都想安慰自己"都开发了一大半了,放弃了就什么都没了,放弃就输了",正是我这种不屈服的精神,shearphoto终于完成了, shearphoto是我内心挣扎和汗水交织而成的作品,我不敢说shearphoto没有BUG,也不敢说shearphoto的代码没有问题。目前shearphoto还处于公测阶段,如果你发现有BUG或者某些代码写得不好,请第一时间联系我 QQ399195513 shearphoto是JS面向对象开发,绝对不含JQUERY,更不含第三方代码,更更没有第三方插件,全部采用原生JS和原生PHP开发。 为什么shearphoto不使用JQUERY,本人玩了JQUERY三年,对JQUERY一点好感也没有,反而造就了一批懒人,对技术的提升没有半点好处。 再者,JQUERY是一个类库,很多方法都帮你写好了,如果使用了JQUERY,那插件的功劳是不是要算上JQUERY一份呢,因此shearphoto在开发前就严重拒绝JQUERY驾入 以后的后续升级也不会有JQUERY的存在!shearphoto的原则:免费,开源,兼容目前所有浏览器,纯原生JS和PHP编写。 有人问:为什么只有PHP后端,没有JAVA和NET,很遗含告诉你,本人不懂JAVA和NET,但是以后的升级我会加上去的,当然你JAVA和NET玩得牛B,你可以在我的JS基础上编写。 目前shearphoto只支持PHP,如果你把JAVA或NET写了,可以发我一份,那么你就是shearphoto开发者之一!呵呵! shearphoto的应用范围: 1:网站会员头像截取,shearphoto能自由设置按比例截图或不按比例截图,也可以对图片旋转,在线拍照,你可以截取不同比例的,不同大小,各种旋转的图片。后台 前台均有设置接口,非常简单 2:商城商品图片切割,例如这个商品图片,有的图像部份我要去掉,那么shearphoto就能帮助你进行切割,又例如这个图片太大了,我想切小点,shearphoto也能帮你实现 3:在线美工切图等 shearphoto的用途非常广,shearphoto截图灵敏,拉伸或拖拽时都非常流畅,不像FLASH的截图插件那么卡,半于反应不过来,shearphoto易于二次开发,所有代码都是开源的HTML,JS PHP编写,二次非常简单 shearphoto的官方网站:www.shearphoto.com,网站有开发文档,以及shearphoto讨论区,大家可以在官网进行交流心得或者定制开发 你也可以加入shearphoto官方QQ群:461550716,分享与我进行交流。 shearphoto是属于大家的,shearphoto创造崭新截图环境,希望大家喜欢shearphoto 本程序版本号:shearphoto1.0 版本号:shearphoto1.0 shearphoto官网:www.shearphoto.com shearphoto官方QQ群:461550716 2015年8月7日 明哥先生

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值