ES5 數(shù)組的一些拓展方法

Array.isArray(obj)

這是Array對象的一個靜態(tài)函數(shù),用來判斷一個對象是不是數(shù)組

var a = new Array(123);
var b = new Date();
console.log(Array.isArray(a)); //true
console.log(Array.isArray(b)); //false

.indexOf(element) / .lastIndexOf(element)

這兩個方法用于查找數(shù)組內(nèi)指定元素位置掌逛,查找到第一個后返回其索引师逸,沒有查找到返回-1,indexOf從頭至尾搜索豆混,lastIndexOf反向搜索篓像。

var a = new Array(1,2,3,3,2,1);
console.log(a.indexOf(2)); //1
console.log(a.lastIndexOf(2)); //4

.forEach(element, index, array)

遍歷數(shù)組,參數(shù)為一個回調(diào)函數(shù)皿伺,回調(diào)函數(shù)有三個參數(shù):

  • 當前元素
  • 當前元素索引值
  • 整個數(shù)組
var a = new Array(1,2,3,4,5,6);

a.forEach(function(e,i,array){
   array[i]= e + 1;
});

console.log(a); //[2, 3, 4, 5, 6, 7]

.every(function(element, index, array)) / .some(function(element, index, array))

這兩個函數(shù)類似于離散數(shù)學中的邏輯判定员辩,回調(diào)函數(shù)返回一個布爾值
every是所有函數(shù)的每個回調(diào)函數(shù)都返回true的時候才會返回true,當遇到false的時候終止執(zhí)行心傀,返回false
some函數(shù)是“存在”有一個回調(diào)函數(shù)返回true的時候終止執(zhí)行并返回true屈暗,否則返回false
在空數(shù)組上調(diào)用every返回true,some返回false

var a=new Array(1,2,3,4,5,6);

console.log(a.every(function(e, i, arr){
return e < 5;
}));

console.log(a.some(function(e,i,arr){
  return e > 4;
}));

.map(function(element))

與forEach類似脂男,遍歷數(shù)組养叛,回調(diào)函數(shù)返回值組成一個新數(shù)組返回,新數(shù)組索引結構和原數(shù)組一致宰翅,原數(shù)組不變

var a = new Array(1,2,3,4,5,6);

console.log(a.map(function(e){
  return e * e;
}));  // [1, 4, 9, 16, 25, 36]

console.log(a); //[1, 2, 3, 4, 5, 6]

.filter(function(element))

返回數(shù)組的一個子集弃甥,回調(diào)函數(shù)用于邏輯判斷是否返回,返回true則把當前元素加入到返回數(shù)組中汁讼,false則不加

新數(shù)組只包含返回true的值淆攻,索引缺失的不包括,原數(shù)組保持不變

var a = new Array(1,2,3,4,5,6);

console.log(a.filter(function(e){
  return e % 2 == 0;
})); // [2, 4, 6]

console.log(a); //[1, 2, 3, 4, 5, 6]

.reduce(function(v1, v2), value) / .reduceRight(function(v1, v2), value)

遍歷數(shù)組嘿架,調(diào)用回調(diào)函數(shù)瓶珊,將數(shù)組元素組合成一個值,reduce從索引最小值開始耸彪,reduceRight反向伞芹,方法有兩個參數(shù)

回調(diào)函數(shù):把兩個值合為一個,返回結果

value : 一個初始值,可選

var a = new Array(1,2,3,4,5,6);

console.log(a.reduce(function(v1, v2){
    return v1 + v2;
})); // 21

console.log(a.reduceRight(function(v1, v2){
    return v1 - v2;
}, 100)); // 79
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市唱较,隨后出現(xiàn)的幾起案子扎唾,更是在濱河造成了極大的恐慌,老刑警劉巖南缓,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件胸遇,死亡現(xiàn)場離奇詭異,居然都是意外死亡汉形,警方通過查閱死者的電腦和手機纸镊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來概疆,“玉大人薄腻,你說我怎么就攤上這事〗彀福” “怎么了庵楷?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長楣颠。 經(jīng)常有香客問我尽纽,道長,這世上最難降的妖魔是什么童漩? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任弄贿,我火速辦了婚禮,結果婚禮上矫膨,老公的妹妹穿的比我還像新娘差凹。我一直安慰自己,他們只是感情好侧馅,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布危尿。 她就那樣靜靜地躺著,像睡著了一般馁痴。 火紅的嫁衣襯著肌膚如雪谊娇。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天罗晕,我揣著相機與錄音济欢,去河邊找鬼。 笑死小渊,一個胖子當著我的面吹牛法褥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播酬屉,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼半等,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起酱鸭,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎垛吗,沒想到半個月后凹髓,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡怯屉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年蔚舀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锨络。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡赌躺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出羡儿,到底是詐尸還是另有隱情礼患,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布掠归,位于F島的核電站缅叠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏虏冻。R本人自食惡果不足惜肤粱,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望厨相。 院中可真熱鬧领曼,春花似錦、人聲如沸蛮穿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽践磅。三九已至瓢姻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間音诈,已是汗流浹背幻碱。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留细溅,地道東北人褥傍。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像喇聊,于是被迫代替她去往敵國和親恍风。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

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