javascript數組強大splice方法

來源:互聯網
上載者:User

標籤: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上它的文法,如下:

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/8A/wKiom1Uvy5vzjCrDAAIwpTWDU7c577.jpg" title="splice.jpg" alt="wKiom1Uvy5vzjCrDAAIwpTWDU7c577.jpg" />    下面舉幾個簡單的例子實現,增刪改的效果。

    添加元素

var arrJxj = [1,2,3,4,5,6];undefinedarrJxj.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方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.