JavaScript 數(shù)組方法

  • 1.join() 將數(shù)組中的所有元素轉(zhuǎn)化為字符串并連接在一起
var a=[1,2,3,4];
a.join(); //"1,2,3,4"
  • 2.reverser() 將數(shù)組中的元素顛倒順序坐儿,返回逆序的數(shù)組。
var a[1,2,3,4];
a.reverse(); //[4,3,2,1]
  • 3.sort() 將數(shù)組中的元素排序并返回排序后的數(shù)組。
    當(dāng)不帶參數(shù)調(diào)用sort()時(shí)椅亚,數(shù)組元素以字母表順序排序葡秒。
var a=['ant','Bug','cat','Dog'];
a.sort(); //["Bug", "Dog", "ant", "cat"]

a.sort(function(s,t){
   var s1=s.toLowerCase();
   var t1=t.toLowerCase();
   if(s1<t1) return -1;
   if(s1>t1) return 1;
   return 0
});//["ant", "BUg", "cat", "Dog"]
  • 4.concat() 創(chuàng)建并返回一個(gè)新數(shù)組,它的元素包括調(diào)用concat()的原始數(shù)組的元素和concat()的每個(gè)參數(shù)砂碉。如果這些參數(shù)中的任何一個(gè)自身是數(shù)組,則連接的是數(shù)組元素刻两,而非數(shù)組本身增蹭。
var a=[1,2,3];
a.concat(4,5);// [1, 2, 3, 4, 5]
a.concat([4,5]);// [1, 2, 3, 4, 5]
a.concat([4,5],[6,7]);// [1, 2, 3, 4, 5, 6, 7]
a.concat([4,5],[6,[8,7]]);// [1, 2, 3, 4, 5, 6,[8,7]]
  • 5.slice() 返回指定數(shù)組的一個(gè)片段或子數(shù)組。它的兩個(gè)參數(shù)分別指定了片段的開始和結(jié)束的位置磅摹。返回的數(shù)組包含第一個(gè)參數(shù)指定的位置和所有到但不含第二個(gè)參數(shù)指定的位置之間的所有數(shù)據(jù)元素滋迈。
    如果只指定一個(gè)參數(shù),返回的數(shù)組包含從開始位置到數(shù)組結(jié)尾的所有元素户誓。
    如果參數(shù)中出現(xiàn)負(fù)數(shù)饼灿,它表示相對于數(shù)組中最后一個(gè)元素的位置。例如:參數(shù)-1指定了最后一個(gè)元素帝美,而-3指定了倒數(shù)第三個(gè)元素碍彭。
    注意,slice()不會修改調(diào)用的數(shù)組。
var a=[1,2,3,4,5];
a.slice(0,2);//[1, 2]
a.slice(3);//[4, 5]
a.slice(1,-1);//[2, 3, 4]
a.slice(-3,-2);//[3]
  • 6.splice() 在數(shù)組中插入或刪除元素的通用方法庇忌。不同于slice()和concat(),splice()會修改調(diào)用的數(shù)組舞箍。注意:splice()和slice()擁有非常相似的名字,但它們的功能卻又本質(zhì)的區(qū)別皆疹。
    splice()能夠從數(shù)組中刪除元素创译,插入元素到數(shù)組中或者同事完成這兩種操作。在插入或刪除點(diǎn)之后的數(shù)組元素會根據(jù)需要增加或減小它們的索引值墙基,因此數(shù)組的其他部分仍然保持連續(xù)软族。splice()的第一個(gè)參數(shù)指定了插入和(或)刪除的起始位置。第二個(gè)參數(shù)指定了應(yīng)該從數(shù)組中刪除的元素的個(gè)數(shù)残制,如果省略第二個(gè)參數(shù)立砸,從起始點(diǎn)開始到數(shù)組結(jié)尾的所有元素都將被刪除。splice()返回一個(gè)由刪除元素組成的數(shù)組初茶,或者如果沒有刪除元素就返回一個(gè)空數(shù)組颗祝。
var a=[1,2,3,4,5,6,7,8];
a.splice(4);//返回[[5, 6, 7, 8]],a是[1, 2, 3, 4]
a.splice(1,2)//返回[2, 3],a是[1, 4, 5, 6, 7, 8]
a.splice(1,1);//返回[2],a是 [1, 3, 4, 5, 6, 7, 8]
  • 7.push()和pop()
    push()向數(shù)組尾部添加一個(gè)或多個(gè)元素恼布。
    pop()刪除數(shù)組的最后一個(gè)元素螺戳。

  • 8.unshift()和shift()
    unshift()向數(shù)組頭部添加一個(gè)或多個(gè)元素。
    shift()刪除數(shù)組的第一個(gè)元素折汞。

  • 9.toString()和toLocaleString()

[1,2,3].toString();//"1,2,3"
[1,[2,'c']].toString();//"1,2,c"

toLocaleString()是toString()方法的本地化版本倔幼。它調(diào)用元素的toLocaleString()方法將每個(gè)數(shù)組元素轉(zhuǎn)換為字符串,并使用本地化分隔符將這些字符串連接起來生成最終的字符串爽待。

  • 10.forEach()從頭至尾遍歷數(shù)組损同,為每個(gè)元素調(diào)用指定的函數(shù)。
    傳遞的函數(shù)做為forEach()的第一個(gè)參數(shù)鸟款,然后forEach()使用三個(gè)參數(shù)調(diào)用該函數(shù):數(shù)組元素膏燃,元素的索引和數(shù)組的本身。
var data=[1,2,3,4,5];
//計(jì)算數(shù)組元素的和值
var sum=0;
data.forEach(function(value){
sum+=value
});  
sum //15

//每個(gè)數(shù)組元素的值加1
data.forEach(function(value,index,arr){
arr[index]=value+1;
});
data  //[2, 3, 4, 5, 6]
  • 11.map()將調(diào)用的數(shù)組的每個(gè)元素傳遞給指定的函數(shù)何什,并返回一個(gè)數(shù)組组哩,它包含函數(shù)的返回值。
    注意:傳遞給mao()的函數(shù)應(yīng)該有返回值处渣。map()返回的是新數(shù)組伶贰,不修改原來的數(shù)組。如果原來的數(shù)組是稀疏數(shù)組霍比,返回的也是相同方式的稀疏數(shù)組幕袱,它們具有相同的長度暴备,相同的缺失元素悠瞬。
var a=[1,2,3];
var b=a.map(function(value){
return value*value;
});
b// [1, 4, 9]
  • 12 filter()返回符合條件的數(shù)組元素
var a=[1,2,3,5];
var b=a.filter(function(value){
return value>2;
});
b  // [3, 5]
  • 13.every()和some()
    數(shù)組的邏輯判定,它們對數(shù)組元素應(yīng)用指定的函數(shù)進(jìn)行判定,返回true或false浅妆。
    every()即數(shù)組中所有元素都符合篩選條件望迎,則返回true.
    some()即數(shù)組中存在元素符合篩選條件,則返回true;
var a =[1,2,3,4,5];
a.every(function(value){
return value<10;
})  //true a中所有元素都小于10

a.every(function(value){
return value%2===0;
});//false a中不是所有元素都是偶數(shù)

a.some(function(value){
return value%2===0;
})//true a中存在偶數(shù)
    1. reduce()和reduceRight()
      使用指定的函數(shù)將數(shù)組元素進(jìn)行組合凌外,生成單個(gè)值辩尊。
      reduce()需要兩個(gè)參數(shù)。
      第一個(gè)是執(zhí)行化簡操作的函數(shù)康辑∩阌化簡函數(shù)的任務(wù)就是用某種方法把兩個(gè)值組合或化簡為一個(gè)值,并返回化簡后的值疮薇。第二個(gè)(可選)參數(shù)是一個(gè)傳遞給函數(shù)的初始值胸墙。
      reduceRight()和reduce()使用方法一致,不同的是它按照數(shù)組索引從高到低(從右向左)處理數(shù)組按咒。
var a=[1,2,3,4,5];
var sum=a.reduce(function(x,y){return x+y;},0);
sum //15  數(shù)組求和
var max=a.reduce(function(x,y){return x>y?x:y});
max // 5求最大值
    1. indexOf()和lastIndexOf()
      indexOf()第一個(gè)符合條件的值的索引迟隅,如果沒有,返回-1
      lastIndexOf()最后一個(gè)符合條件的值的索引,如果沒有,返回-1
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末励七,一起剝皮案震驚了整個(gè)濱河市智袭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌掠抬,老刑警劉巖吼野,帶你破解...
    沈念sama閱讀 212,542評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異两波,居然都是意外死亡箫锤,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評論 3 385
  • 文/潘曉璐 我一進(jìn)店門雨女,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谚攒,“玉大人,你說我怎么就攤上這事氛堕×蟪簦” “怎么了?”我有些...
    開封第一講書人閱讀 158,021評論 0 348
  • 文/不壞的土叔 我叫張陵讼稚,是天一觀的道長括儒。 經(jīng)常有香客問我,道長锐想,這世上最難降的妖魔是什么帮寻? 我笑而不...
    開封第一講書人閱讀 56,682評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮赠摇,結(jié)果婚禮上固逗,老公的妹妹穿的比我還像新娘浅蚪。我一直安慰自己,他們只是感情好烫罩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評論 6 386
  • 文/花漫 我一把揭開白布惜傲。 她就那樣靜靜地躺著,像睡著了一般贝攒。 火紅的嫁衣襯著肌膚如雪盗誊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,985評論 1 291
  • 那天隘弊,我揣著相機(jī)與錄音哈踱,去河邊找鬼。 笑死梨熙,一個(gè)胖子當(dāng)著我的面吹牛嚣鄙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播串结,決...
    沈念sama閱讀 39,107評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼哑子,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肌割?” 一聲冷哼從身側(cè)響起卧蜓,我...
    開封第一講書人閱讀 37,845評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎把敞,沒想到半個(gè)月后弥奸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡奋早,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評論 2 327
  • 正文 我和宋清朗相戀三年盛霎,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耽装。...
    茶點(diǎn)故事閱讀 38,747評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡愤炸,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出掉奄,到底是詐尸還是另有隱情规个,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評論 4 333
  • 正文 年R本政府宣布姓建,位于F島的核電站诞仓,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏速兔。R本人自食惡果不足惜墅拭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望涣狗。 院中可真熱鬧谍婉,春花似錦舒憾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽掸宛。三九已至死陆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唧瘾,已是汗流浹背措译。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饰序,地道東北人领虹。 一個(gè)月前我還...
    沈念sama閱讀 46,545評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像求豫,于是被迫代替她去往敵國和親塌衰。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評論 2 350