日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

js获取数组前n项的和

發布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 js获取数组前n项的和 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用的API

js獲取數字數組前n項和方法,用js自帶的API Array.prototype.reduce方法
都可直接直接復制代碼到console窗口下運行

簡單例子

var array = [0,1,2,3,4,5]; var front3Total = array.reduce(function(pre,cur,index,arr){if(index>3-1){return pre+0;}return pre+cur; }); front3Total;

自己進行封裝

簡單封裝下,把這方法擴展到數組API中去,也就是Array.prototype中去
var array = [0,1,2,3,4,5]; Array.prototype.getNumArrayTotal = function(num){ var total = this.reduce(function(pre,cur,index,arr){if(index>num-1){return pre+0;}return pre+cur; }); return total; }; console.log(array.getNumArrayTotal());//不傳參數,計算數組項所有和 console.log(array.getNumArrayTotal(100));//超過數組長度也是所有項之和console.log(array.getNumArrayTotal(-1));//負數、0、1都是第一項的值,pre默認為第一項的值. console.log(array.getNumArrayTotal(0)); console.log(array.getNumArrayTotal(1));console.log(array.getNumArrayTotal(2));

繼續擴展

如何還想繼續擴展的話,比如普通數組,里面含有數字字符串、boolean類型、數字、或者其他的,大家可以定義自己的規則再進行擴展。我這里在擴展下,如果數組項為數字字符串、boolean 將其轉換成數字 然后在求和,其他類型不做求和。主要是類型的判斷和數組第0項的處理.
var array1 = ["1",true,false,"2","asdf"] Array.prototype.getNumArrayTotal1 = function(num){ var total = this.reduce(function(pre,cur,index,arr){ var cur = Number(cur);if(index==1){//第0項要做特殊處理,如果第一項不能轉換成數字將其視為0var pre = Number(pre); if(isNaN(pre)){ pre = 0; }if(index>num-1){ return pre+0;} return pre+cur; } if(isNaN(cur)){//非數字不加當前項的值 return pre; }else{//可以轉換數字 if(index>num-1){ return pre+0;}return pre+cur; }}); return total; }; console.log(array1.getNumArrayTotal1());//不傳參數,計算數組項所有和 console.log(array1.getNumArrayTotal1(100));//超過數組長度也是所有項之和 console.log(array1.getNumArrayTotal1(-1));//負數、0、1都是第一項的值 console.log(array1.getNumArrayTotal1(0)); console.log(array1.getNumArrayTotal1(1)); console.log(array1.getNumArrayTotal1(2));

總結

以上是生活随笔為你收集整理的js获取数组前n项的和的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。