javascript--數(shù)組方法使用詳解(二)

除了forEach,其他用返回值return

array.forEach

定義:指定函數(shù)遍歷數(shù)組

  • 官方:按順序為每個數(shù)組中的每個元素調(diào)用一次函數(shù)
  • 理解:使用指定函數(shù)遍歷數(shù)組
    語法
array.forEach(function(item, index, arr), this)
  • array:數(shù)組
  • for:為了药有。毅戈。。愤惰。誰
  • Each:每一個元素
  • function: 第一個參數(shù)是一個函數(shù)苇经,必須.

在調(diào)用函數(shù)時,可以傳入以下三個參數(shù):

  • ltem:表示數(shù)組中的一個元素宦言,必須
  • index:數(shù)組索引扇单,可選
  • arr: 當(dāng)前數(shù)組,可選
  • this: 指代詞,修改函數(shù)內(nèi)的this指向(調(diào)用誰它指任的就是調(diào)用的)
    默認(rèn)this沒有指向返回Window(全局)
    默認(rèn)值undefined奠旺,可選蜘澜。

返回值:forEach返回undefined

this示例1

function fn(){
 console.log(this)
   }
    // fn()//默認(rèn)沒有指向this返回Window(全局)

this示例2

var arr = []
 arr.fn = function(){
console.log(this)
}
  // arr.fn()//Array []數(shù)組調(diào)用了數(shù)組

this示例3

 String.b1= function(){
        console.log(this)
    }
    String.b1()
//function String()

forEach示例1

 var str =[1,2,3]
    arr.forEach(function(item,index,arr){
        console.log(1,0,[1,2,3])
      //  console.log(2,1,[1,2,3])
       // console.log(3,2,[1,2,3])
    })
打印結(jié)果
    console.log(str) 1,2响疚,3

forEach示例2**輸出[4,5,6]

arr.forEach(function(item,index){
  arr[index] = item + 3
});
console.log(arr) // [4,5,6]

forEach輸出數(shù)組元素之和示例3

let sum = 0;
const arr = [1, 2, 3];
arr.forEach(function(item){
  sum += item
});
打印結(jié)果
console.log(sum) //10

array.map()

定義:使用指定函數(shù)遍歷數(shù)組鄙信。
即逐一對傳入到函數(shù)體的每個數(shù)組元素進(jìn)行操作,然后把每一個數(shù)組元素填充進(jìn)新數(shù)組

語法

 array.map(function(item, index, arr), this)

  • function: 遍歷數(shù)組的函數(shù)忿晕。必須装诡。
  • item: 接收數(shù)組元素的形參,必須。
  • index: 接收數(shù)組索引的形參慎王,可選蚓土。
  • arr: 接收當(dāng)前數(shù)組的形參,可選赖淤。
  • this: 修改函數(shù)內(nèi)的this指向蜀漆,默認(rèn)值undefined,可選咱旱。

返回值:返回操作后的新數(shù)組

示例map輸出[4,5,6]

const arr = [1, 2, 3];
let arrNew = [ ]
arrNew = arr.map(function(item,index){ //map()方法自動返回一個新數(shù)組
  return item + 3 // 設(shè)置function函數(shù)的返回值确丢,返給map()方法
});
console.log(arrNew) // [4,5,6]

array.filter()

定義:指定函數(shù)遍歷數(shù)組。
即逐一對傳入到函數(shù)體的每個數(shù)組元素進(jìn)行條件檢測吐限,把符合條件的數(shù)組元素填充進(jìn)新數(shù)組鲜侥,跳過不符合條件的數(shù)組元素。(條件由開發(fā)者設(shè)計)
語法

 array.filter(function(item, index, arr), this)

返回值:返回符合條件的新的數(shù)組

示例1打印大于3

const arr = [1, 2, 3, 4, 5, 6];
let arrNew = []
arrNew = arr.filter(function (item) { //filter()方法自動返回符合條件的數(shù)組元素
  return item > 3 // 設(shè)置function函數(shù)的返回值诸典,返給filter()方法
});
console.log(arrNew) // [4,5,6]

array.every()

定義:對數(shù)組進(jìn)行檢查元素.
即逐一對傳入到函數(shù)體的每個數(shù)組元素進(jìn)行條件檢測描函,符合條件就返回一個true,不符合條件就返回false。(條件由開發(fā)者設(shè)計)

語法

 array.every(function(item, index, arr), this)
  • every單詞:每個狐粱,每次舀寓,每一
  • function: 遍歷數(shù)組的函數(shù)。必須肌蜻。
  • item: 接收數(shù)組元素的形參互墓,必須。
  • index: 接收數(shù)組索引的形參蒋搜,可選篡撵。
  • arr: 接收當(dāng)前數(shù)組的形參,可選豆挽。
  • this: 修改函數(shù)內(nèi)的this指向育谬,默認(rèn)值undefined,可選帮哈。

返回

  • true: 當(dāng)傳入的數(shù)組元素全部返回true時斑司,返回true。
  • false: 當(dāng)傳入的數(shù)組元素有一個返回false但汞,則返回false。

示例

  var arr1 = [1, 2, 3]
        var arr2 = arr1.every(function (item, index, arr) {
            return item > 0
        })
           console.log(arr2)
//item> return 
//true

array.some()

定義:指定函數(shù)遍歷數(shù)組互站。
即逐一對傳入到函數(shù)體的數(shù)組元素進(jìn)行條件檢測私蕾,符合條件就返回一個true并停止檢測,不符合條件就返回false。(條件由開發(fā)者設(shè)計)

語法

 array.some(function(item, index, arr), this)
  • some:有一些(的意思)
  • function: 遍歷數(shù)組的函數(shù)胡桃。必須踩叭。
  • item: 接收數(shù)組元素的形參,必須。
  • index: 接收數(shù)組索引的形參容贝,可選自脯。
  • arr: 接收當(dāng)前數(shù)組的形參,可選斤富。
  • this: 修改函數(shù)內(nèi)的this指向膏潮,默認(rèn)值undefined,可選满力。

返回值

  • true: 當(dāng)傳入的數(shù)組元素有一個返回true時焕参,返回true。
  • false: 當(dāng)傳入的數(shù)組元素全部返回false油额,則返回false叠纷。

示例

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

array.find()

定義:指函數(shù)遍歷數(shù)組。
即逐一對傳入到函數(shù)體的數(shù)組元素進(jìn)行條件查找潦嘶,找到符合條件的數(shù)組元素則返回true,然后返回該元素涩嚣。(條件由開發(fā)者設(shè)計)
語法

array.find(function(item, index, arr), this)
  • find:找到發(fā)現(xiàn)
  • function: 遍歷數(shù)組的函數(shù)。必須掂僵。
  • item: 接收數(shù)組元素的形參航厚,必須。
  • index: 接收數(shù)組索引的形參看峻,可選阶淘。
  • arr: 接收當(dāng)前數(shù)組的形參,可選互妓。
  • this: 修改函數(shù)內(nèi)的this指向溪窒,默認(rèn)值undefined,可選冯勉。

返回值:返回找到的元素澈蚌。

示例

var result = arr.find(function(item){
  return item == 2
})
console.log(result) // 2

array.findIndex()

定義:指定函數(shù)遍歷數(shù)組。
即逐一對傳入到函數(shù)體的數(shù)組元素進(jìn)行條件查找灼狰,找到符合條件的數(shù)組元素則返回true,然后返回該元素的索引宛瞄。(條件由開發(fā)者設(shè)計)

語法

 array.findIndex(function(item, index, arr), this)
  • findIndex查找索引
  • function: 遍歷數(shù)組的函數(shù)。必須交胚。
  • item: 接收數(shù)組元素的形參份汗,必須。
  • index: 接收數(shù)組索引的形參蝴簇,可選杯活。
  • arr: 接收當(dāng)前數(shù)組的形參,可選熬词。
  • this: 修改函數(shù)內(nèi)的this指向旁钧,默認(rèn)值undefined吸重,可選

返回值:返回找到元素的索引。
示例

var arr = [1,2,3]
var result = arr.findIndex(function(item){
  return item == 2
})
console.log(result) // 1

array.reduce()

定義:為數(shù)組的每個值(從左到右)執(zhí)行提供的函數(shù)歪今。
該方法將數(shù)組縮減為單個值嚎幸。
語法:

array.reduce(function(total(sum), item, index, arr), initialValue)
  • reduce:減少數(shù)組元素,
  • sum(求和):用于存儲數(shù)組元素之和的變量
  • total: 用于求和的變量寄猩。
  • item: 接收數(shù)組元素的形參嫉晶,必須。
  • index: 接收數(shù)組索引的形參焦影,可選车遂。
  • arr: 接收當(dāng)前數(shù)組的形參,可選斯辰。
  • initialValue: 初始值舶担。
    ****示例:
var result = arr.reduce(function (total, item) {
    return total += item
}, 0)
console.log(result) // 6

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市彬呻,隨后出現(xiàn)的幾起案子衣陶,更是在濱河造成了極大的恐慌,老刑警劉巖闸氮,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件剪况,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒲跨,警方通過查閱死者的電腦和手機译断,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來或悲,“玉大人孙咪,你說我怎么就攤上這事⊙灿铮” “怎么了翎蹈?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長男公。 經(jīng)常有香客問我千所,道長窿锉,這世上最難降的妖魔是什么朋其? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任括授,我火速辦了婚禮,結(jié)果婚禮上踏拜,老公的妹妹穿的比我還像新娘碎赢。我一直安慰自己,他們只是感情好执隧,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般镀琉。 火紅的嫁衣襯著肌膚如雪峦嗤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天屋摔,我揣著相機與錄音烁设,去河邊找鬼。 笑死钓试,一個胖子當(dāng)著我的面吹牛装黑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播弓熏,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼恋谭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了挽鞠?” 一聲冷哼從身側(cè)響起疚颊,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎信认,沒想到半個月后材义,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡嫁赏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年其掂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潦蝇。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡款熬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出护蝶,到底是詐尸還是另有隱情华烟,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布持灰,位于F島的核電站盔夜,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏堤魁。R本人自食惡果不足惜喂链,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望妥泉。 院中可真熱鬧椭微,春花似錦、人聲如沸盲链。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至本慕,卻和暖如春排拷,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锅尘。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工监氢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人藤违。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓浪腐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親顿乒。 傳聞我的和親對象是個殘疾皇子议街,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

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

  • array.forEach() array.map() array.filter() array.every()-...
    歸于無閱讀 163評論 0 0
  • 數(shù)組是什么? 答:1.數(shù)組是數(shù)據(jù)的一種數(shù)據(jù)類型淆游;2.數(shù)組是由簡單數(shù)據(jù)類型組成的復(fù)雜數(shù)據(jù)類型 創(chuàng)建數(shù)組的方法傍睹? 1....
    憂油魚閱讀 267評論 0 6
  • 導(dǎo)讀 array.forEach() array.map() array.filter() array.every...
    Pj浩閱讀 970評論 17 8
  • 數(shù)組是什么 數(shù)組是一種用于存儲多個值的數(shù)據(jù)類型。 數(shù)組可以儲存不同數(shù)據(jù)類型的數(shù)據(jù) 創(chuàng)建數(shù)組的方法 1.直接量法 v...
    冬逢馨閱讀 267評論 0 6
  • 數(shù)組是什么 定義 數(shù)組是一種用于存儲多個值的數(shù)據(jù)類型犹菱。 數(shù)組是一種由簡單數(shù)據(jù)類型組成復(fù)雜數(shù)據(jù)類型拾稳。 從形式上講,數(shù)...
    Pj浩閱讀 366評論 0 6