JS jsonArray操作

JS jsonArray操作

js對(duì)數(shù)組對(duì)象的操作以及方法的使用

如何聲明創(chuàng)建一個(gè)數(shù)組對(duì)象:
var arr = new Array();
或者
var arr = [];

如何移除所有數(shù)組中數(shù)據(jù)夜只?

arrayJson.dataList.splice(0,arr.length);
1

如何指定位置對(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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

數(shù)組對(duì)象方法的是使用介紹:

cancat()

/**
 * concat:連接兩個(gè)或者多個(gè)數(shù)組偷卧,并且返回該數(shù)組
 * 語法: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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

join()

/**
 * join():通過指定字符對(duì)數(shù)據(jù)進(jìn)行分割熔吗,返回字符串蚊惯。
 * jon(分隔符);
 */
function array_join() {
    var arr = ['1','2','3'];
    var str = arr.join('-');
    //1-2-3
    console.log(str);
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10

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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11

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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12

sort()

/**
 * sort():方法用戶對(duì)數(shù)組的排序
 * sort(sortby)     sortby可選趴荸,必須是函數(shù)。如調(diào)用方法沒有使用參數(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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14

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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

unshift()

/**
 * 向數(shù)組開頭添加一個(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));
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

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"
                    }
                ]
            }
        ]
    }
]

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子扭仁,更是在濱河造成了極大的恐慌垮衷,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乖坠,死亡現(xiàn)場(chǎng)離奇詭異搀突,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)熊泵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門仰迁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人顽分,你說我怎么就攤上這事徐许。” “怎么了卒蘸?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵雌隅,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我缸沃,道長(zhǎng)恰起,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任趾牧,我火速辦了婚禮检盼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘翘单。我一直安慰自己吨枉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布哄芜。 她就那樣靜靜地躺著貌亭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪忠烛。 梳的紋絲不亂的頭發(fā)上属提,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天权逗,我揣著相機(jī)與錄音美尸,去河邊找鬼。 笑死斟薇,一個(gè)胖子當(dāng)著我的面吹牛师坎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播堪滨,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼胯陋,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起遏乔,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤义矛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后盟萨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凉翻,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年捻激,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了制轰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡胞谭,死狀恐怖垃杖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丈屹,我是刑警寧澤调俘,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站泉瞻,受9級(jí)特大地震影響脉漏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜袖牙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一侧巨、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鞭达,春花似錦司忱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叨襟,卻和暖如春繁扎,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背糊闽。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工梳玫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人右犹。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓提澎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親念链。 傳聞我的和親對(duì)象是個(gè)殘疾皇子盼忌,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容