這篇文章給大家分享的是有關(guān)JavaScript中如何進(jìn)行數(shù)組處理的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧。
恩陽(yáng)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:028-86922220(備注:SSL證書(shū)合作)期待與您的合作!
首先我們來(lái)看一下map()的基本語(yǔ)法
var array = [ 數(shù)組數(shù)據(jù) ]; array.map(回調(diào)函數(shù));
Map是用于數(shù)組數(shù)據(jù)的方法,可以為每個(gè)元素執(zhí)行“回調(diào)函數(shù)” 并將結(jié)果作為新數(shù)組返回。
換句話(huà)說(shuō),通過(guò)在此函數(shù)中編寫(xiě)要執(zhí)行的進(jìn)程,您可以對(duì)數(shù)組的每個(gè)元素執(zhí)行任何操作!
如何使用map方法迭代數(shù)組?
以下示例是對(duì)包含數(shù)字?jǐn)?shù)據(jù)的數(shù)組使用map方法的示例
var items = [1,2,3,4,5]; var result = items.map(function( value ) { return value * 2; }); console.log( result );
輸出結(jié)果如下
在該示例中,對(duì)于數(shù)值“1到5”的數(shù)組用回調(diào)函數(shù)執(zhí)行對(duì)每個(gè)元素進(jìn)行加倍的處理。
出于這個(gè)原因,我們分配一個(gè)數(shù)組,其結(jié)果翻2倍作為“result ”的返回值,因此可以看到輸出結(jié)果都變成了其本身的2倍。
最初,它都是使用for語(yǔ)句或while語(yǔ)句編寫(xiě)循環(huán),但使用map非常方便,因?yàn)樗梢酝ㄟ^(guò)一個(gè)非常簡(jiǎn)單的程序來(lái)實(shí)現(xiàn)!
在JavaScript中還有一個(gè)與map()方法用法類(lèi)似的reduce()方法,關(guān)于reduce()方法可以參考這篇文章:JavaScript中的reduce如何使用
關(guān)于reduce()和map()方法的區(qū)別可以參考這篇文章:JavaScript中map()和reduce()有什么區(qū)別
map()與forEach語(yǔ)句的區(qū)別?
map()類(lèi)似于forEach語(yǔ)句,它可以以相同的方式操作數(shù)組。
我們來(lái)看具體的示例
//forEach [1,2,3].forEach(function( value ) { console.log( value ); }); //map [1,2,3].map(function( value ) { console.log( value ); });
輸出結(jié)果是一樣的都為
正如您在此示例中看到的,forEach和map獲得的結(jié)果是相同的。
那么,它們有什么不同,最大一點(diǎn)的不同就是是否具有返回值。
換句話(huà)說(shuō),forEach只是一種執(zhí)行方法,而map在執(zhí)行后將結(jié)果作為數(shù)組數(shù)據(jù)返回。
我們具體看示例
forEach:
var result = [1,2,3].forEach(function( value ) { return value * 2; }); console.log( result );
輸出結(jié)果如下為:
forEach的返回值看不到。
map:
var result = [1,2,3].map(function( value ) { return value * 2; }); console.log( result );
輸出結(jié)果為
可以將數(shù)組數(shù)據(jù)作為執(zhí)行結(jié)果返回。
map的回調(diào)函數(shù)
之前我們看回調(diào)函數(shù)只有一個(gè)參數(shù),但實(shí)際上你可以用得到有三個(gè)參數(shù)!
數(shù)組數(shù)據(jù).map( function( value, index, array ) { });
Value是數(shù)組的值
index是數(shù)組的索引號(hào)
array是當(dāng)前正在處理的數(shù)組
例如,在下面的示例中,我們將使用參數(shù)index,將index號(hào)的值為偶數(shù)的值翻倍
var items = [1,2,3,4,5,6,7,8,9]; var result = items.map( function( value, index, array ) { if( index % 2 !== 0 ) { return value * 2; } else { return value; } }); console.log( result );
輸出結(jié)果如下
此外,map具有不對(duì)原始數(shù)組數(shù)據(jù)進(jìn)行任何更改的功能,但如果使用第三個(gè)參數(shù)array ,則還可以更改原始數(shù)據(jù)!
var items = [1,2,3,4,5,6,7,8,9]; items.map( function( value, index, array ) { array[index] = value * 2; }); console.log( items );
輸出結(jié)果如下
在過(guò)去,“回調(diào)函數(shù)”被指定為“map”的第一個(gè)參數(shù),但實(shí)際上你可以指定任意“對(duì)象”作為第二個(gè)參數(shù)!
var array = [ 數(shù)組數(shù)據(jù) ]; //指定對(duì)象為第2個(gè)參數(shù) array.map( 回調(diào)函數(shù), 對(duì)象 );
這使得可以組合指定的數(shù)組和對(duì)象以實(shí)現(xiàn)更方便的編程。
例如,在下面的示例中,將食物簡(jiǎn)單對(duì)象foodList指定為map的第二個(gè)參數(shù)。
var foodList = { '蘋(píng)果': 45, '哈密瓜': 50, '獼猴桃': 60, '草莓': 40 }; 數(shù)組.map( function( value ) { }, foodList );
我們從對(duì)象中指定任意關(guān)鍵字并返回“price”。
var foodList = { '蘋(píng)果': 45, '哈密瓜': 50, '獼猴桃': 60, '草莓': 40 }; var order = ['草莓', '獼猴桃']; var result = order.map( function( value, index, array ) { return this[value]; }, foodList ); console.log( result );
輸出結(jié)果如下
在此示例中,您可以看到關(guān)鍵字在數(shù)組order中設(shè)置,從中獲取與對(duì)象中擁有的關(guān)鍵字匹配的“price”并將其作為數(shù)組返回。
感謝各位的閱讀!關(guān)于JavaScript中如何進(jìn)行數(shù)組處理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
網(wǎng)頁(yè)標(biāo)題:JavaScript中如何進(jìn)行數(shù)組處理
URL鏈接:http://aaarwkj.com/article22/pcdicc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、網(wǎng)頁(yè)設(shè)計(jì)公司、企業(yè)建站、定制開(kāi)發(fā)、移動(dòng)網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)