js數組常用方法總結

1. push() 方法

????push() 方法將一個或多個元素添加到數組的末尾,并返回該數組的新長度望忆。

var animals = ['pigs', 'goats', 'sheep'];

console.log(animals.push('cows'));
// expected output: 4

console.log(animals);
// expected output: Array ["pigs", "goats", "sheep", "cows"]

animals.push('chickens');

console.log(animals);
// expected output: Array ["pigs", "goats", "sheep", "cows", "chickens"]

2. sort() 方法

????sort() 方法用原地算法對數組的元素進行排序均函,并返回數組坦喘。排序算法現在是穩(wěn)定的乍构。默認排序順序是根據字符串Unicode碼點绰精。

由于它取決于具體實現哑诊,因此無法保證排序的時間和空間復雜性躬络。

var months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
console.log(months);
// expected output: Array ["Dec", "Feb", "Jan", "March"]

var array1 = [1, 30, 4, 21];
array1.sort((a, b) => a - b);
console.log(array1);
// expected output: Array [1, 4, 21, 30]

3. indexOf() 方法

????indexOf()方法返回在數組中可以找到一個給定元素的第一個索引,如果不存在搭儒,則返回-1穷当。

var beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];

console.log(beasts.indexOf('bison'));
// expected output: 1

// start from index 2
console.log(beasts.indexOf('bison', 2));
// expected output: 4

console.log(beasts.indexOf('giraffe'));
// expected output: -1

4. includes() 方法

????includes() 方法用來判斷一個數組是否包含一個指定的值提茁,根據情況,如果包含則返回 true馁菜,否則返回false代碼如下:

var array1 = [1, 2, 3];

console.log(array1.includes(2));
// expected output: true

var pets = ['cat', 'dog', 'bat'];

console.log(pets.includes('cat'));
// expected output: true

console.log(pets.includes('at'));
// expected output: false

5. isArray()方法

????Array.isArray() 用于確定傳遞的值是否是一個 Array茴扁。

Array.isArray([1, 2, 3]);  
// true
Array.isArray({foo: 123}); 
// false
Array.isArray("foobar");   
// false
Array.isArray(undefined);  
// false

6. join方法

????join() 方法將一個數組(或一個類數組對象)的所有元素連接成一個字符串并返回這個字符串。

var elements = ['Fire', 'Wind', 'Rain'];

console.log(elements.join());
// expected output: Fire,Wind,Rain

console.log(elements.join(''));
// expected output: FireWindRain

console.log(elements.join('-'));
// expected output: Fire-Wind-Rain

7. pop()方法

????pop()方法從數組中刪除最后一個元素汪疮,并返回該元素的值峭火。此方法更改數組的長度。

var plants = ['broccoli', 'cauliflower', 'cabbage', 'kale', 'tomato'];

console.log(plants.pop());
// expected output: "tomato"

console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage", "kale"]

plants.pop();

console.log(plants);
// expected output: Array ["broccoli", "cauliflower", "cabbage"]

8. reverse()方法

????reverse() 方法將數組中元素的位置顛倒智嚷。第一個數組元素成為最后一個數組元素卖丸,最后一個數組元素成為第一個。

var array1 = ['one', 'two', 'three'];
console.log('array1: ', array1);
// expected output: Array ['one', 'two', 'three']

var reversed = array1.reverse(); 
console.log('reversed: ', reversed);
// expected output: Array ['three', 'two', 'one']

/* 它也改變原來的數組 */ 
console.log('array1: ', array1);
// expected output: Array ['three', 'two', 'one']

9. shift()方法

????shift() 方法從數組中刪除第一個元素盏道,并返回該元素的值稍浆。此方法更改數組的長度。

var array1 = [1, 2, 3];

var firstElement = array1.shift();

console.log(array1);
// expected output: Array [2, 3]

console.log(firstElement);
// expected output: 1

10. unshift()方法

????unshift() 方法將一個或多個元素添加到數組的開頭猜嘱,并返回該數組的新長度衅枫。

var array1 = [1, 2, 3];

console.log(array1.unshift(4, 5));
// expected output: 5

console.log(array1);
// expected output: Array [4, 5, 1, 2, 3]

11. slice()方法

????slice() 方法返回一個新的數組對象,這一對象是一個由 開始和 結束(不包括結束)決定的原數組的淺拷貝朗伶。原始數組不會被改變弦撩。

var animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]

console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

12. splice()方法

????splice()方法通過刪除現有元素和/或添加新元素來修改數組,并以數組返回原數組中被修改的內容。

var months = ['Jan', 'March', 'April', 'June'];
months.splice(1, 0, 'Feb');
// 插入第一個索引位置
console.log(months);
// expected output: Array ['Jan', 'Feb', 'March', 'April', 'June']

months.splice(4, 1, 'May');
// 替換第4索引處的1個元素
console.log(months);
// expected output: Array ['Jan', 'Feb', 'March', 'April', 'May']

13. tostring()方法

????toString() 返回一個字符串论皆,表示指定的數組及其元素益楼。

var array1 = [1, 2, 'a', '1a'];

console.log(array1.toString());
// expected output: "1,2,a,1a"
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市点晴,隨后出現的幾起案子偏形,更是在濱河造成了極大的恐慌,老刑警劉巖觉鼻,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俊扭,死亡現場離奇詭異,居然都是意外死亡坠陈,警方通過查閱死者的電腦和手機萨惑,發(fā)現死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來仇矾,“玉大人庸蔼,你說我怎么就攤上這事≈埃” “怎么了姐仅?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我掏膏,道長劳翰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上肆捕,老公的妹妹穿的比我還像新娘。我一直安慰自己生均,他們只是感情好,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布腥刹。 她就那樣靜靜地躺著马胧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衔峰。 梳的紋絲不亂的頭發(fā)上佩脊,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機與錄音朽色,去河邊找鬼邻吞。 笑死组题,一個胖子當著我的面吹牛葫男,可吹牛的內容都是我干的。 我是一名探鬼主播崔列,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼梢褐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了赵讯?” 一聲冷哼從身側響起盈咳,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎边翼,沒想到半個月后鱼响,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡组底,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年丈积,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片债鸡。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡江滨,死狀恐怖,靈堂內的尸體忽然破棺而出厌均,到底是詐尸還是另有隱情唬滑,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站晶密,受9級特大地震影響擒悬,放射性物質發(fā)生泄漏。R本人自食惡果不足惜惹挟,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一茄螃、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧连锯,春花似錦归苍、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至摇展,卻和暖如春吻氧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咏连。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工盯孙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人祟滴。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓振惰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親垄懂。 傳聞我的和親對象是個殘疾皇子骑晶,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內容