數(shù)組對(duì)象常用方法

一.push 是用來(lái)做什么的? 以此數(shù)組為例: sum=[12,34,56,78,89,50],寫(xiě)代碼示范;

作用:像數(shù)組的末尾添加y一個(gè)或多個(gè)元素,并返回新數(shù)組長(zhǎng)度;

? <script>

? var sum =[12,34,56,78,89,50];

? sum.push('aaa');

? console.log(sum);//打印出[12,34,56,78,89,50,'aaa']及數(shù)組長(zhǎng)度

? </script>

二.forEach的作用是什么?使用下列數(shù)組計(jì)算每個(gè)人的年齡?

? <script>

? var arr = [

? ? {name: '小王',age: 50},

? ? {name: '小李',age: 60},

? ? {name: '小林',age: 85},

? ? {name: '小明',age: 95}

]

? var sum=0;

? arr.forEach(item=>{

? sum =item.name+':'+ item.age;

? console.log(sum);

})

</script>

三.map 簡(jiǎn)寫(xiě)的作用?

通過(guò)指定函數(shù)處理數(shù)組的每個(gè)元素,并返回處理后的數(shù)組.

四.splice是用來(lái)做什么的,并自己舉例?

作用: 從數(shù)組中添加或刪除元素.

<script>

var arr=[1,2,3,4,5,6];

? ? ? ? arr.splice(1,2)//從數(shù)組的第一位開(kāi)始刪除兩個(gè)元素

? ? ? ? console.log(arr);//打印出arr[1,4,5,6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,0,'aaa');//從數(shù)組的第二位開(kāi)始添加一個(gè)新元素

? ? ? console.log(arr);//打印出[1, 2, "aaa", 3, 4, 5, 6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,1,'aaa');//替換下標(biāo)為2的元素

? ? ? console.log(arr);//打印出[1, 2,'aaa', 4, 5, 6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,2,'aaa');//將從下標(biāo)為2開(kāi)始的兩個(gè)元素替換為新元素

? ? ? console.log(arr);//打印出[1, 2,'aaa', 5, 6]

</script>? ? ? ? ? ? ? ? ?

五.filter 是用來(lái)做什么的?

作用:檢測(cè)數(shù)組元素,并返回符合條件的所有元素的數(shù)組

將下列數(shù)據(jù)中的isHot為1的字段篩選出來(lái):

<script>

? var hotCity= [

? ? ? ? {

? ? ? ? "cityId": 110100,

? ? ? ? "name": "北京",

? ? ? ? "pinyin": "beijing",

? ? ? ? "isHot": 0

? ? ? ? },

? ? ? ? {

? ? ? ? "cityId": 310100,

? ? ? ? "name": "上海",

? ? ? ? "pinyin": "shanghai",

? ? ? ? "isHot": 1

? ? ? ? },

? ? ? ? {

? ? ? ? "cityId": 440100,

? ? ? ? "name": "廣州",

? ? ? ? "pinyin": "guangzhou",

? ? ? ? "isHot": 0

? ? ? ? },

? ? ? ? {

? ? ? ? "cityId": 440300,

? ? ? ? "name": "深圳",

? ? ? ? "pinyin": "shenzhen",

? ? ? ? "isHot": 1

? ? ? ? }

? ]

? es6寫(xiě)法

? var newHotCity=hotCity.filter(item=>{

? ? ? return item.isHot==1;

? })

? console.log(newHotCity);

? js5寫(xiě)法

? var newHotCity=hotCity.filter(function(item){

? ? ? return item.isHot==1;

? })

? console.log(newHotCity);

</script>

? 六.說(shuō)說(shuō) find 和 findIndex 的相同點(diǎn)和不同點(diǎn).

? 相同點(diǎn):都是符合測(cè)試(函數(shù))條件的數(shù)組元素,

? 不同點(diǎn):find返回的是符合條件的元素,findIndex返回的則是符合條件元素的下標(biāo).

? 七.將下列所有的數(shù)組方法,用代碼運(yùn)行一邊,并寫(xiě)成簡(jiǎn)書(shū) .

? ? 1.? push 向數(shù)組的末尾添加一個(gè)或更多元素良哲,并返回新的長(zhǎng)度蜜葱。

<script>

? ? var arr=[1,2,3,4,5,6,7];

? ? arr.push(2,3);

? ? console.log(arr)//打印[1,2,3,4,5,6,7,2,3]

</script>

? ? 2.unshift 向數(shù)組的開(kāi)頭添加一個(gè)或更多元素畅哑,并返回新的長(zhǎng)度拉讯。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? arr.unshift(1);//返回長(zhǎng)度7

? ? console.log(arr)//打印[1,1,2,3,4,5,6]

</script>

? ? 3.pop 刪除數(shù)組的最后一個(gè)元素并返回刪除的元素到千。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? arr.pop();//返回6

? ? console.log(arr);//[1,2,3,4,5]

</script>

? ? 4.shift 刪除并返回?cái)?shù)組的第一個(gè)元素(知道即可,用得很少)。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? arr.shift();//返回1

? ? console.log(arr);//[2,3,4,5,6]

</script>

? ? 5. reverse 反轉(zhuǎn)數(shù)組的元素順序幅狮。

<script>

? var arr=[1,2,3,4,5,6];

? arr.reverse()

? console.log(arr)//[6,5,4,3,2,1]

</script>

? ? 6. find 返回符合傳入測(cè)試(函數(shù))條件的數(shù)組元素睹欲。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? var num=arr.find(function(item){

? ? ? ? ? return item ==5;

? ? })

? ? console.log(num);

</script>

? ? 7.? findIndex 返回符合傳入測(cè)試(函數(shù))條件的數(shù)組元素索引。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? var num=arr.findIndex(function(item){

? ? ? ? ? return item ==5;

? ? })

? ? console.log(num);//打印4

</script>

? ? 8. slice 選取數(shù)組的的一部分吼和,并返回一個(gè)新數(shù)組睬愤。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? var newarr=arr.slice(2,4);

? ? console.log(newarr)//打印[3,4]

</script>

? ? 9. splice 從數(shù)組中添加或刪除元素。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? ? ? arr.splice(1,2)//從數(shù)組的第一位開(kāi)始刪除兩個(gè)元素

? ? ? ? console.log(arr);//打印出arr[1,4,5,6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,0,'aaa');//從數(shù)組的第二位開(kāi)始添加一個(gè)新元素

? ? ? console.log(arr);//打印出[1, 2, "aaa", 3, 4, 5, 6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,1,'aaa');//替換下標(biāo)為2的元素

? ? ? console.log(arr);//打印出[1, 2,'aaa', 4, 5, 6]

var arr=[1,2,3,4,5,6];

? ? ? arr.splice(2,2,'aaa');//將從下標(biāo)為2開(kāi)始的兩個(gè)元素替換為新元素

? ? ? console.log(arr);//打印出[1, 2,'aaa', 5, 6]? ?

</script>

? ? 10. join 把數(shù)組的所有元素放入一個(gè)字符串纹安。

<script>

? ? var arr=[1,2,3,4,5,6];

? ? arr.join();//返回"1,2,3,4,5,6"

</script>

? ? 11.forEach 迭代數(shù)組尤辱。

<script>

? ? var arr = [

? ? {name: '小王',age: 50},

? ? {name: '小李',age: 60},

? ? {name: '小林',age: 85},

? ? {name: '小明',age: 95}

]

? var sum=0;

? arr.forEach(item=>{

? sum =item.name+':'+ item.age;

? console.log(sum);

})

</script>

? ? 12.? map 通過(guò)指定函數(shù)處理數(shù)組的每個(gè)元素,并返回處理后的數(shù)組厢岂。

<script>

? ? var arr = [

? ? {

? ? ? ? name: '張三',

? ? ? ? age:28

? ? },

? ? {

? ? ? ? name: '李四',

? ? ? ? age:28

? ? },

? ? {

? ? ? ? name: '陳武',

? ? ? ? age:28

? ? }

? ? ];

? ? // js5

? ? ? ? var newArr = arr.map(function(item){

? ? ? ? return {

? ? ? ? ? ? username: item.name,

? ? ? ? ? ? age: item.age+10

? ? ? ? };

? ? })

? ? console.log(newArr);

? ? ? ? // es6

? ? var newArr = arr.map(item=>{

? ? ? ? return {

? ? ? ? ? ? username: item.name,

? ? ? ? ? ? age: item.age+10

? ? ? ? };

? ? })

? ? console.log(newArr);

</script>

? ? 13.? filter 檢測(cè)數(shù)值元素光督,并返回符合條件所有元素的數(shù)組。

<script>

? ? var arr=[

? ? ? ? ? {name:'liu',age:23},

? ? ? ? ? {name:'liu',age:24},

? ? ? ? ? {name:'liu',age:26},

? ? ]

? ? var newarr=arr.filter(item=>{

? ? ? ? ? return item.age<25;

? ? });

? ? console.log(newarr)//打印{name:'liu',age:23},{name:'liu',age:24}

</script>

? ? 14.? indexOf 搜索數(shù)組中的元素塔粒,并返回它所在的位置结借。

<script>

? ? var arr = ['a','b','c','d'];

? ? var index = arr.indexOf('c');

? ? console.log(index); // 2

? ? var index2= arr.indexOf('f');

? ? console.log(index2); // 找不到返回-1

</script>

? ? 15. includes 判斷一個(gè)數(shù)組是否包含一個(gè)指定的值

<script>

? ? var arr = ['a','b','c','d'];

? ? var b1 = arr.includes ('c');

? ? console.log(b1); // true

? ? var b2 = arr.includes ('f');

? ? console.log(b2); // false

</script>

? ? 16. isArray 判斷對(duì)象是否為數(shù)組。

<script>

? ? var arr=[1,2,3];

? ? Array.isArray(arr);//true

? ? var obj={

? ? ? ? ? name:'liu'

? ? }

? ? Array.isArray(obj);//false

</script>

? ? 16.sort 數(shù)組排序

<script>

? ? var arr = [1,6,3,4];

? ? arr.sort();

? ? console.log(arr);? // [1, 3, 4, 6]

? ? // 例2 通過(guò)排序函數(shù)

? ? var arr = [10,5,40,25,1000,1]

? ? // 升序排列

? ? // js5

? ? arr.sort(function(a,b){

? ? return a-b;

? ? })

? ? // es6

? ? arr.sort((a,b)=> {

? ? return a-b;

? ? })

? ? console.log(arr); //? [1, 5, 10, 25, 40, 1000]

? ? // 降序排列

? ? // js5

? ? arr.sort(function(a,b) {

? ? // 升序排列

? ? return b-a;

? ? })

? ? console.log(arr); // [1000, 40, 25, 10, 5, 1]

? ? // es6

? ? arr.sort((a,b)=> {

? ? // 升序排列

? ? return b-a;

? ? })

? ? console.log(arr); // [1000, 40, 25, 10, 5, 1]

</script>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末卒茬,一起剝皮案震驚了整個(gè)濱河市船老,隨后出現(xiàn)的幾起案子咖熟,更是在濱河造成了極大的恐慌,老刑警劉巖柳畔,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件馍管,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡薪韩,警方通過(guò)查閱死者的電腦和手機(jī)确沸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)俘陷,“玉大人罗捎,你說(shuō)我怎么就攤上這事±埽” “怎么了桨菜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)捉偏。 經(jīng)常有香客問(wèn)我倒得,道長(zhǎng),這世上最難降的妖魔是什么告私? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮承桥,結(jié)果婚禮上驻粟,老公的妹妹穿的比我還像新娘。我一直安慰自己凶异,他們只是感情好蜀撑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著剩彬,像睡著了一般酷麦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上喉恋,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天沃饶,我揣著相機(jī)與錄音,去河邊找鬼轻黑。 笑死糊肤,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的氓鄙。 我是一名探鬼主播馆揉,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼抖拦!你這毒婦竟也來(lái)了升酣?” 一聲冷哼從身側(cè)響起舷暮,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎噩茄,沒(méi)想到半個(gè)月后下面,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巢墅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年诸狭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片君纫。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驯遇,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓄髓,到底是詐尸還是另有隱情叉庐,我是刑警寧澤,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布会喝,位于F島的核電站陡叠,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏肢执。R本人自食惡果不足惜枉阵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望预茄。 院中可真熱鬧兴溜,春花似錦、人聲如沸耻陕。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)诗宣。三九已至膘怕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間召庞,已是汗流浹背岛心。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留篮灼,地道東北人鹉梨。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像穿稳,于是被迫代替她去往敵國(guó)和親存皂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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