成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript:數(shù)組總結(jié)(二)

lijy91 / 444人閱讀

摘要:函數(shù)接收個(gè)參數(shù)前一個(gè)值,當(dāng)前值,項(xiàng)的索引,數(shù)組對(duì)象。第一次迭代發(fā)生在數(shù)組的第二項(xiàng),因此第一個(gè)參數(shù)是是數(shù)組的第一項(xiàng),第二個(gè)參數(shù)是數(shù)組的第二項(xiàng)。迭代從數(shù)組的第一項(xiàng)到最后一項(xiàng)迭代從數(shù)組的最后一項(xiàng)到第一項(xiàng)同上面結(jié)果一樣。

博客同時(shí)同步到github

位置方法

這兩個(gè)方法都接收兩個(gè)參數(shù):要查找的項(xiàng)和表示起點(diǎn)位置的索引(可選),indexOf()從數(shù)組開(kāi)頭開(kāi)始向后查,相反的,lastIndexOf()從數(shù)組的末尾開(kāi)始向前查找,返回查找的項(xiàng)在數(shù)組中的位置,沒(méi)有找到返回-1。

1.indexOf()

var array = [1,2,3,2,1];
console.log(array.indexOf(2));//1

2.lastIndexOf

console.log(array.lastIndexOf(2));//3

兼容性:支持它們的瀏覽器包括IE9+,F(xiàn)irefox2+,Safari3+,Opera9.5+,Chrome

迭代方法

ECMASCript5為數(shù)組定義了5個(gè)迭代方法。每個(gè)方法接收兩個(gè)參數(shù):
要在每一項(xiàng)上運(yùn)行的函數(shù)和運(yùn)行該函數(shù)的作用域?qū)ο?可選)---影響this的值。
傳入這些方法中的函數(shù)接收三個(gè)參數(shù):
數(shù)組項(xiàng)的值(ele),該項(xiàng)在數(shù)組中的位置(index),數(shù)組本身(arr)。這5種方法都會(huì)對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù)但是不同的方法的返回值不同。

every():若該函數(shù)對(duì)每一項(xiàng)都返回true,則返回true

var num = [1,2,3,2,1];
var result = num.every(function(item,index,array){
    return (item > 2);
    })
    console.log(result);//true

filter():返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組

var num = [1,2,3,2,1];
var result = num.filter(function(item,index,array){
    return (item > 2);
    })
    console.log(result);//[3]

forEach():無(wú)返回值

var num = [1,2,3,2,1];
var result = num.forEach(function(item,index,array){
    return (item > 2);
    })
    console.log(result);//undefined

map():返回每次調(diào)用結(jié)果組成的數(shù)組

var num = [1,2,3,2,1];
var result = num.map(function(item,index,array){
    return (item > 2);
    })
    console.log(result);// [false,false,true,false,false]

some():如果該函數(shù)中有一項(xiàng)返回true,則返回ture

var num = [1,2,3,2,1];
var result = num.some(function(item,index,array){
    return (item > 2);
    })
    console.log(result);//true

聲明:以上方法均不會(huì)修改數(shù)組本身
兼容性:支持它們的瀏覽器包括IE9+,F(xiàn)irefox2+,Safari3+,Opera9.5+,Chrome

縮小方法

ECMAScript增加了兩個(gè)縮小數(shù)組的方法,這兩個(gè)方法都會(huì)迭代數(shù)組中的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值。

這兩個(gè)方法都接收兩個(gè)參數(shù):
一個(gè)在每一項(xiàng)上調(diào)用的函數(shù),一個(gè)是作為縮小基礎(chǔ)的初始值(可選)。
函數(shù)接收4個(gè)參數(shù):
前一個(gè)值(pre),當(dāng)前值(cur),項(xiàng)的索引(index),數(shù)組對(duì)象(arr)。
這個(gè)函數(shù)返回的任何值都會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng)。第一次迭代發(fā)生在數(shù)組的第二項(xiàng),因此第一個(gè)參數(shù)是是數(shù)組的第一項(xiàng),第二個(gè)參數(shù)是數(shù)組的第二項(xiàng)。

1.reduce():迭代從數(shù)組的第一項(xiàng)到最后一項(xiàng)

var val = [1,2,3]
var sum = val.reduce(function(pre,cur,index,array){
    return pre + cur;
    })
console.log(sum);//6
var a = [1,2,3,4,5];
a.reduce(function(pre,curr,index,arr){
console.log(pre);
console.log(curr);
console.log(index);
console.log(arr);
})

1
2
1
[1,2,3,4,5]

undefined
3
2
[1,2,3,4,5]

undefined
4
3
[1,2,3,4,5]

undefined
5
4
[1,2,3,4,5]

2.reduceRight():迭代從數(shù)組的最后一項(xiàng)到第一項(xiàng)
同上面結(jié)果一樣。
兼容性:支持它們的瀏覽器包括IE9+,F(xiàn)irefox3+,Safari4+,Opera10.5+,Chrome

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86169.html

相關(guān)文章

  • JavaScript學(xué)習(xí)總結(jié)數(shù)組和對(duì)象部分

    摘要:屬性是一個(gè)值或一組值以數(shù)組或?qū)ο蟮男问?,是?duì)象的成員。可以使用內(nèi)置構(gòu)造函數(shù)和創(chuàng)建包裝對(duì)象。因此下面的代碼將會(huì)使人很迷惑結(jié)果結(jié)果,此數(shù)組長(zhǎng)度為應(yīng)該盡量避免使用數(shù)組構(gòu)造函數(shù)創(chuàng)建新數(shù)組。給數(shù)組對(duì)象添加返回?cái)?shù)組中最大元素值的方法。 對(duì)象部分 Object類型 Object 是一個(gè)無(wú)序的集合,可以存放任意類型對(duì)象,所有其他對(duì)象都繼承自這個(gè)對(duì)象。創(chuàng)建Object類型有兩種,一種是使用new運(yùn)算符,...

    Lsnsh 評(píng)論0 收藏0
  • 細(xì)說(shuō) Javascript 數(shù)組篇() : 數(shù)組的構(gòu)造函數(shù)和常見(jiàn)操作

    摘要:數(shù)組的構(gòu)造函數(shù)由于數(shù)組的構(gòu)造函數(shù)在處理參數(shù)時(shí)的不確定性,因此強(qiáng)烈建議使用符號(hào)來(lái)創(chuàng)建一個(gè)新數(shù)組??偨Y(jié)綜上所述,我們應(yīng)該盡量使用來(lái)創(chuàng)建新函數(shù),而不是數(shù)組的構(gòu)造函數(shù),這樣代碼將有更好的可讀性。 數(shù)組的構(gòu)造函數(shù) 由于數(shù)組的構(gòu)造函數(shù)在處理參數(shù)時(shí)的不確定性,因此強(qiáng)烈建議使用 [] 符號(hào)來(lái)創(chuàng)建一個(gè)新數(shù)組。 [1, 2, 3]; // Result: [1, 2, 3] new Array(1, ...

    kaka 評(píng)論0 收藏0
  • Javascript:String對(duì)象總結(jié)()

    摘要:方法始終從前向后找參數(shù)接收兩個(gè)參數(shù),第一個(gè)參數(shù)可以是一個(gè)對(duì)象或者一個(gè)字符串這個(gè)字符串不會(huì)轉(zhuǎn)換成正則表達(dá)式,第二個(gè)參數(shù)可以是一個(gè)字符串或者一個(gè)函數(shù)。要想替換所有子字符串,唯一的辦法就是提供一個(gè)正則表達(dá)式,而且要指定全局標(biāo)志標(biāo)志。 字符串的模式匹配方法 match() 參數(shù):只接受一個(gè)參數(shù),要么是一個(gè)正則表達(dá)式,要么是一個(gè)RegExp()對(duì)象。 返回:數(shù)組。數(shù)組中的第一項(xiàng)是與整個(gè)模式匹配的...

    zzir 評(píng)論0 收藏0
  • 總結(jié)javascript基礎(chǔ)概念():事件隊(duì)列循環(huán)

    摘要:而事件循環(huán)是主線程中執(zhí)行棧里的代碼執(zhí)行完畢之后,才開(kāi)始執(zhí)行的。由此產(chǎn)生的異步事件執(zhí)行會(huì)作為任務(wù)隊(duì)列掛在當(dāng)前循環(huán)的末尾執(zhí)行。在下,觀察者基于監(jiān)聽(tīng)事件的完成情況在下基于多線程創(chuàng)建。 主要問(wèn)題: 1、JS引擎是單線程,如何完成事件循環(huán)的? 2、定時(shí)器函數(shù)為什么計(jì)時(shí)不準(zhǔn)確? 3、回調(diào)與異步,有什么聯(lián)系和不同? 4、ES6的事件循環(huán)有什么變化?Node中呢? 5、異步控制有什么難點(diǎn)?有什么解決方...

    zhkai 評(píng)論0 收藏0
  • JavaScript學(xué)習(xí)總結(jié)(六)數(shù)據(jù)類型和JSON格式

    摘要:并列數(shù)據(jù)的集合數(shù)組用方括號(hào)表示。第三種類型是映射,也就是一個(gè)名值對(duì),即數(shù)據(jù)有一個(gè)名稱,還有一個(gè)與之相對(duì)應(yīng)的值,這又稱作散列或字典,比如首都北京。中有種簡(jiǎn)單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。數(shù)值布爾值對(duì)象和字符串值都有方法。 什么是JSON JSON:JavaScript 對(duì)象表示法(JavaScript Object Notation)。 JSON的形式是用大括號(hào){}包圍起來(lái)的項(xiàng)目列表...

    laznrbfe 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<