1. indexOf()
用于數(shù)組查找數(shù)組元素的索引
var arr = [10, 20, '30', 'xyz'];
arr.indexOf(10); //0
arr.indexOf('30'); //2
2.slice()
就是對(duì)應(yīng)String的substring()版本,它截取Array的部分元素,然后返回一個(gè)新的Array; 起止參數(shù)包括開始索引,不包括結(jié)束索引 。如果不給slice()傳遞任何參數(shù),它就會(huì)從頭到尾截取所有元素
arr.slice(1,3); // [20,'30']
arr.slice(); // [10, 20, '30', 'xyz']參數(shù)為空,則截取整個(gè)數(shù)組,相當(dāng)于復(fù)制一個(gè)數(shù)組
3. pop() , push()
push()向Array的末尾添加元素,pop()則把Array的最后一個(gè)元素刪除掉
push() 向尾部添加任意個(gè)元素,返回新數(shù)組長(zhǎng)度
請(qǐng)注意,push() 方法不創(chuàng)建新的創(chuàng)建,而是直接修改原有的數(shù)組。
var arr = [1,2,3];
var push = arr.push('a','b');
console.log(push); //5 返回?cái)?shù)組的長(zhǎng)度
pop()方法返回刪除的元素
請(qǐng)注意,pop() 方法是直接修改原有的數(shù)組。
var pop=arr.pop();
console.log(pop);
// b 返回刪除的元素 如果數(shù)組已經(jīng)為空, 空數(shù)組繼續(xù)pop不會(huì)報(bào)錯(cuò),而是返回undefined
4.unshift()和shift()
unshift()往Array的頭部添加元素,shift()則把Array的第一個(gè)元素刪掉
unshift() 可向數(shù)組的開頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度
arrayObject.unshift(newelement1,newelement2,....,newelementX);
//newelement1必需,其余為可選
第一個(gè)參數(shù)將成為數(shù)組的新元素 0,如果還有第二個(gè)參數(shù),它將成為新的元素 1,以此類推。請(qǐng)注意,unshift() 方法不創(chuàng)建新的創(chuàng)建,而是直接修改原有的數(shù)組。
var arr=[1,2];
var unshift=arr.unshift('A','b');
console.log(unshift);
// 4 返回?cái)?shù)組長(zhǎng)度
shift()返回刪除元素
請(qǐng)注意,shift() 方法是直接修改原有的數(shù)組。
var shift=arr.shift();
console.log(shift);
// A 返回刪除的元素
5.reverse() 顛倒數(shù)組中元素的順序
該方法會(huì)改變?cè)瓉?lái)的數(shù)組,而不會(huì)創(chuàng)建新的數(shù)組
var arr = [1,2,3];
var reverse = arr.reverse();
console.info(reverse); // 返回的是反轉(zhuǎn)數(shù)組后的結(jié)果[3,2,1]
6.splice() 修改Array的“萬(wàn)能方法”
從數(shù)組中的指定位置添加/刪除項(xiàng)目,然后返回被刪除的元素
arrayObject.splice(index,howmany,item1,.....,itemX);
//index必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
//howmany 必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。
//item1, ..., itemX 可選。向數(shù)組添加的新項(xiàng)目。
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
// 從索引2開始刪除3個(gè)元素,然后再添加兩個(gè)元素:
var spl1=arr.splice(2, 3, 'Google', 'Facebook');
// 返回刪除的元素 ['Yahoo', 'AOL', 'Excite']
console.log(arr); // ["Microsoft", "Apple", "Google", "Facebook", "Oracle"]
只刪除,不添加
var spl2 = arr.splice(2, 2);
console.log(spl2);// ['Google', 'Facebook']
console.log(arr); // ['Microsoft', 'Apple', 'Oracle']
只添加,不刪除
var spl3=arr.splice(2, 0, 'Google', 'Facebook');
console.log(spl3);// 返回[],因?yàn)闆](méi)有刪除任何元素
console.log(arr); // ['Microsoft', 'Apple', 'Google', 'Facebook', 'Oracle']
請(qǐng)注意,splice()方法與 slice()方法的作用是不同的,splice()方法會(huì)直接對(duì)數(shù)組進(jìn)行修改。slice()則是返回一個(gè)新的數(shù)組
7.concat()方法
把當(dāng)前的Array和另一個(gè)Array連接起來(lái) concat()方法并沒(méi)有修改當(dāng)前Array, 并返回一個(gè)新的Array。實(shí)際上,concat()方法可以接收任意個(gè)元素和Array,并且自動(dòng)把Array拆開,然后全部添加到新的Array里
var arr=['a', 'b', 'c'];
var concat=arr.concat(1, 2, [4, 7, 2]);
console.info(concat); //["a", "b", "c", 1, 2, 4, 7, 2]
8.join() 用于把數(shù)組中的所有元素放入一個(gè)字符串
元素是通過(guò)指定的分隔符進(jìn)行分隔的。
array.join(separator)
//separator可選。指定要使用的分隔符。如果省略該參數(shù),則使用逗號(hào)作為分隔符。
var arr = ['A', 'B', 'C', 1, 2, 3];
var join=arr.join('-');
console.info(join);//A-B-C-1-2-3
console.info(typeof(join)); //string
9.toString()
把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果,數(shù)組中的元素之間用逗號(hào)分隔。
var arr = ['a','b','c',1,2];
console.log(arr.toString()); // a,b,c,1,2