詳解JavaScript對(duì)數(shù)組操作(添加/刪除/截取/排序/倒序)
js對(duì)數(shù)組對(duì)象的操作以及方法的使用
如何聲明創(chuàng)建一個(gè)數(shù)組對(duì)象:
var arr = new Array();
或者
var arr = [];
如何移除所有數(shù)組中數(shù)據(jù)?
arrayJson.dataList.splice(0,arr.length);
如何指定位置對(duì)數(shù)組對(duì)象的添加,如何將指定元素添加到數(shù)組中間位置?
/** * 假設(shè)數(shù)組的長(zhǎng)度值為偶數(shù),如何將指定元素添加到數(shù)組中間位置。 */ function array_middle_insert() { var arr = ['1','2','3','4','5','6']; if(0 == arr.length % 2) { //偶數(shù) arr.splice(arr.length / 2,0,'中間添加'); } //["1","2","3","中間添加","4","5","6","7"] console.log(JSON.stringify(arr)); }
數(shù)組對(duì)象方法的是使用介紹:
cancat()
/** * concat:連接兩個(gè)或者多個(gè)數(shù)組,并且返回該數(shù)組 * 語(yǔ)法:array.concat(object,object,......); */ function array_concat() { var arr = [{index:'0'},{address:'1'}]; var arr_1 = [{index:'3'},{index:'4'}]; var newArr = arr.concat(arr_1); //[{"index":"0"},{"address":"1"},{"index":"3"},{"index":"4"}] console.log(JSON.stringify(newArr)); }
join()
/** * join():通過(guò)指定字符對(duì)數(shù)據(jù)進(jìn)行分割,返回字符串。 * jon(分隔符); */ function array_join() { var arr = ['1','2','3']; var str = arr.join('-'); //1-2-3 console.log(str); }
pop()
/** * pop():刪除數(shù)組的最后一個(gè)對(duì)象,返回該刪除元素的值 */ function array_pop() { var arr = [{index:'0'},{address:'1'}]; var pop_data = arr.pop(); //{"address":"1"} console.log(JSON.stringify(pop_data)); //[{"index":"0"}] console.log(JSON.stringify(arr)); }
push()
/** * push:向數(shù)組末尾添加一個(gè)或者多個(gè)對(duì)象。 * array.push(newObject1,newObject2,.....); */ function array_push() { //實(shí)例化一個(gè)數(shù)組對(duì)象 var arr = new Array(); var obj_1 = { index:'1', index:'2'}; var obj_2 = { index:'3', index:'3'}; arr.push(obj_1,obj_2); //[{"index":"2"},{"index":"3"}] console.log(JSON.stringify(arr)); }
shift()
/** * shift():該方法用戶刪除數(shù)組的第一個(gè)對(duì)象,并返回刪除的元素 */ function array_shift() { var arr = [{index:'0'},{address:'1'}]; var shift_data = arr.shift(); //{"index":"0"} console.log(JSON.stringify(shift_data)); //[{"address":"1"}] console.log(JSON.stringify(arr)); }
slice()
/** * slice():從已知數(shù)組中返回指定選中的數(shù)據(jù),該操作不會(huì)修改原數(shù)組的數(shù)據(jù) * slice(start,end); */ function array_slice() { var arr = ['1','2','3','4','5']; var new_array = arr.slice(1,arr.length); //["2","3","4","5"] console.log(JSON.stringify(new_array)); //["1","2","3","4","5"] console.log(JSON.stringify(arr)); }
sort()
/** * sort():方法用戶對(duì)數(shù)組的排序 * sort(sortby) sortby可選,必須是函數(shù)。如調(diào)用方法沒(méi)有使用參數(shù),則按字母順序進(jìn)行排序。 */ function array_sory() { var arr = [{index:'500'},{index:'40'},{index:'100'},{index:'50'}]; var new_array = arr.sort(function(a,b) { var n1 = Number(a.index); var n2 = Number(b.index); return n1 - n2; }); //[{"index":"40"},{"index":"50"},{"index":"100"},{"index":"500"}] console.log(JSON.stringify(new_array)); }
splice()
/** * 向數(shù)組中刪除/添加對(duì)象,并返回被刪除的元素。 * splice(index,count,item1,item2,......); * index:規(guī)定刪除/添加項(xiàng)目的起始位置,使用負(fù)數(shù)從數(shù)組的結(jié)尾處規(guī)定位置。 * count:規(guī)定要?jiǎng)h除項(xiàng)目的數(shù)量 * item1,item2...:向項(xiàng)目中添加添加新的對(duì)象 */ function array_splice() { var arr = ['1','2','3']; var new_array = arr.splice(0,2,'4','5'); //["1","2"] console.log(JSON.stringify(new_array)); //["4","5","3"] console.log(JSON.stringify(arr)); }
unshift()
/** * 向數(shù)組開(kāi)頭添加一個(gè)或者多個(gè)元素,并返回新的長(zhǎng)度。 */ function array_unshift() { var arr = [{index:'0'},{address:'1'}]; var obj_1 = {index:'2'}; var obj_2 = {index:'3'}; var length = arr.unshift(obj_1,obj_2); //4 console.log(length); //[{"index":"2"},{"index":"3"},{"index":"0"},{"address":"1"}] console.log(JSON.stringify(arr)); }
toString():將數(shù)組轉(zhuǎn)換成字符串,并返回該結(jié)果。不會(huì)改變?cè)瓟?shù)組的數(shù)據(jù)。
toLocaleString():將數(shù)組裝換成本地字符,并返回結(jié)果,用“,”分割。類似toString 方法。
reverse():該該方法顛倒數(shù)組的順序
一下舉栗聲明json數(shù)組串較為復(fù)雜并且靈活的格式。
[ { "dateMonth":"05", "hopeMoney":"12000", "data":[ { "brickId":"1", "brickYear":"2017-05-15", "brickWeek":"星期二", "brckInfo":[ { "bringMoneyOrExpenditure":"5000", "brickClass":"工資", "brickIcon":"ion-ios-star-outline" }, { "bringMoneyOrExpenditure":"-2000", "brickClass":"其他", "brickIcon":"ion-ios-star-outline" } ] }, { "brickId":"1", "brickYear":"2017-05-02", "brickWeek":"星期六", "brckInfo":[ { "bringMoneyOrExpenditure":"10000", "brickClass":"工資", "brickIcon":"ion-ios-star-outline" } ] } ] }, { "dateMonth":"04", "hopeMoney":"12000", "data":[ { "brickId":"1", "brickYear":"2017-04-15", "brickWeek":"星期一", "brckInfo":[ { "bringMoneyOrExpenditure":"5000", "brickClass":"工資", "brickIcon":"ion-ios-star-outline" } ] } ] } ]
以上所述是小編給大家介紹的JavaScript對(duì)數(shù)組操作詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
深入理解JavaScript系列(16) 閉包(Closures)
本章我們將介紹在JavaScript里大家經(jīng)常來(lái)討論的話題 —— 閉包(closure)。閉包其實(shí)大家都已經(jīng)談爛了。盡管如此,這里還是要試著從理論角度來(lái)討論下閉包,看看ECMAScript中的閉包內(nèi)部究竟是如何工作的2012-04-04微信小程序點(diǎn)擊按鈕動(dòng)態(tài)切換input的disabled禁用/啟用狀態(tài)功能
這篇文章主要介紹了微信小程序點(diǎn)擊按鈕動(dòng)態(tài)切換input的disabled禁用/啟用狀態(tài)功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03javascript 頁(yè)面只自動(dòng)刷新一次
記得meta標(biāo)簽當(dāng)中有一個(gè)refresh的功能嗎?這是讓瀏覽的頁(yè)面刷新并可以轉(zhuǎn)到相應(yīng)的頁(yè)面,如果刷新本頁(yè)的話就會(huì)造成重復(fù)的刷新,現(xiàn)在我們就試試用腳本來(lái)實(shí)現(xiàn)只讓頁(yè)面刷新一次.2009-07-07js showModalDialog參數(shù)的使用詳解
本篇文章主要是對(duì)js中showModalDialog參數(shù)的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-01-01js實(shí)現(xiàn)購(gòu)物網(wǎng)站商品放大鏡效果
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購(gòu)物網(wǎng)站商品放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10JS彈窗 JS彈出DIV并使整個(gè)頁(yè)面背景變暗功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了JS彈窗 JS彈出DIV并使整個(gè)頁(yè)面背景變暗功能的實(shí)現(xiàn)代碼,需要的朋友可以參考下2018-04-04