JavaScript如何求數(shù)組長度和元素之和

本文小編為大家詳細(xì)介紹“JavaScript如何求數(shù)組長度和元素之和”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“JavaScript如何求數(shù)組長度和元素之和”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

創(chuàng)新互聯(lián)建站服務(wù)項(xiàng)目包括宿城網(wǎng)站建設(shè)、宿城網(wǎng)站制作、宿城網(wǎng)頁制作以及宿城網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,宿城網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到宿城省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

JavaScript中,可利用length屬性來獲取數(shù)組長度,語法“數(shù)組對象.length”;可使用reduce()或reduceRight()函數(shù)來求元素之和,語法“arr.reduce(function f(pre,curr){return pre+cur})”或“arr.reduceRight(function f(pre,curr){return pre+cur})”。

本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。

JavaScript求數(shù)組長度

在javascript中,可以利用數(shù)組對象的length屬性來獲取數(shù)組長度。

每個(gè)數(shù)組都有一個(gè) length 屬性,該屬性返回?cái)?shù)組的最大長度,即其值等于最大下標(biāo)值加 1。由于數(shù)字下標(biāo)必須小于 2^32-1,所以 length 屬性最大值等于 2^32-1。

示例1

下面代碼定義了一個(gè)空數(shù)組,然后為下標(biāo)等于 100 的元素賦值,則 length 屬性返回 101。因此,length 屬性不能體現(xiàn)數(shù)組元素的實(shí)際個(gè)數(shù)。

var a = [];  //聲明空數(shù)組
a[100] = 2;
console.log(a.length);  //返回101

輸出:

101

length 屬性可讀可寫,是一個(gè)動(dòng)態(tài)屬性。length 屬性值也會(huì)隨數(shù)組元素的變化而自動(dòng)更新。同時(shí),如果重置 length 屬性值,也將影響數(shù)組的元素,具體說明如下:

如果 length 屬性被設(shè)置了一個(gè)比當(dāng)前 length 值小的值,則數(shù)組會(huì)被截?cái)?,新長度之外的元素值都會(huì)丟失。

如果 length 屬性被設(shè)置了一個(gè)比當(dāng)前 length 值大的值,那么空數(shù)組就會(huì)被添加到數(shù)組末尾,使得數(shù)組增長到新指定的長度,讀取值都為 undefined。

示例2

下面代碼演示了 length 屬性值動(dòng)態(tài)變化對數(shù)組的影響。

var a = [1,2,3];  //聲明數(shù)組直接量
a.length = 5;  //增長數(shù)組長度
console.log(a[4]);  //返回undefined,說明該元素還沒有被賦值
a.length = 2;  //縮短數(shù)組長度
console.log(a[2]);  //返回undefined,說明該元素的值已經(jīng)丟失

輸出:

undefined
undefined

JavaScript求數(shù)組之和

方法1:使用reduce()

reduce()    將數(shù)組元素計(jì)算為一個(gè)值(從左到右)。

var a = [1, 2, 3, 4, 5];
var b =a.reduce(function f(pre, curr){
	return pre + curr;
	});
console.log(b);

JavaScript如何求數(shù)組長度和元素之和

說明:

reduce() 方法可對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結(jié)果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時(shí)作為參數(shù)提供。具體用法如下:

array.reduce(callbackfn[, initialVaule]);

參數(shù)說明:

  • array:必需參數(shù),一個(gè)數(shù)組對象。

  • callbackfn:必需參數(shù),一個(gè)接受最多四個(gè)參數(shù)的函數(shù)。對于數(shù)組中的每個(gè)元素,recude() 方法都會(huì)調(diào)用 callbackfn 函數(shù)一次。

  • initialVaule:可選參數(shù),如果指定 initialVaule,則它將用作初始值來啟動(dòng)累積。第一次調(diào)用 callbackfn 函數(shù)會(huì)將此值作為參數(shù)而非數(shù)組值提供。

reduce() 方法的返回值是通過最后一次調(diào)用回調(diào)函數(shù)獲得的累積結(jié)果。

如果提供了參數(shù) initialVaule,則 reduce() 方法會(huì)對數(shù)組中的每個(gè)元素調(diào)用一次 callbackfn 函數(shù)(按升序索引順序);如果為提供 initialVaule,則 reduce() 方法會(huì)對從第 2 個(gè)元素開始的每個(gè)元素調(diào)用 callbackfn 函數(shù)。

回調(diào)函數(shù)的返回值在下一次調(diào)用回調(diào)函數(shù)時(shí)作為 previousValue 參數(shù)提供。最后一次調(diào)用回調(diào)函數(shù)獲得的返回值為 recude() 方法的返回值。該方法不為數(shù)組中缺少的元素調(diào)用該回調(diào)函數(shù)。

回調(diào)函數(shù)的語法如下:

function callbackfn(previousValue, currentVaule, currentIndex, array);

回調(diào)函數(shù)參數(shù)說明:

  • previousValue:通過上一次調(diào)用回調(diào)函數(shù)獲得的值。如果向 reduce() 方法提供 initialValue,則在首次調(diào)用函數(shù)時(shí),previousValue 為 initialValue。

  • currentVaule:當(dāng)前元素?cái)?shù)組的值。

  • currentIndex:當(dāng)前數(shù)組元素的數(shù)字索引。

  • array:包含該元素的數(shù)組對象。

在第一次調(diào)用回調(diào)函數(shù)時(shí),作為參數(shù)提供的值取決于 reduce() 方法是否具有 initialValue 參數(shù)。如果向 recude() 方法提供 initialValue,則 previousValue 參數(shù)為 initialValue,currentValue 參數(shù)是數(shù)組中第 1 個(gè)元素的值。

方法2:使用reduceRight()

reduceRight()    將數(shù)組元素計(jì)算為一個(gè)值(從右到左)。

var arr = [1, 2, 3, 4, 5, 5];
var b =arr.reduceRight(function f(pre, curr){
	return pre + curr;
	});
console.log(b);

JavaScript如何求數(shù)組長度和元素之和

說明:

reduceRight() 方法可從右向左對數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結(jié)果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時(shí)作為參數(shù)提供。具體用法如下:

array.reduceRight(callbackfn[, initialValue]);

該方法的語法和用法與 reduce() 方法大概相同,唯一不同的是,它是從數(shù)組右側(cè)開始調(diào)用回調(diào)函數(shù)。如果提供了 initialValue,則 reduceRight() 方法會(huì)按降序索引順序?qū)?shù)組中的每個(gè)元素調(diào)用一次 callbackfn 函數(shù)。如果未提供 initialValue,則 reduceRight() 方法會(huì)按降序索引順序?qū)γ總€(gè)元素(從倒數(shù)第 2 個(gè)元素開始)調(diào)用 callbackfn 函數(shù)。

讀到這里,這篇“JavaScript如何求數(shù)組長度和元素之和”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

分享文章:JavaScript如何求數(shù)組長度和元素之和
網(wǎng)頁URL:http://bm7419.com/article30/pscopo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、企業(yè)建站、微信小程序動(dòng)態(tài)網(wǎng)站、網(wǎng)站改版靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管