Array 對(duì)象
1.靜態(tài)方法
- Array.isArray 方法返回一個(gè)布爾值,表示參數(shù)是否為數(shù)組。它可以彌補(bǔ)typeof運(yùn)算符的不足。
2.實(shí)例方法
- valueOf 方法是一個(gè)所有對(duì)象都擁有的方法,表示對(duì)該對(duì)象求值。不同對(duì)象的valueOf方法不盡一致,數(shù)組的valueOf方法返回?cái)?shù)組本身。
- toString 方法也是對(duì)象的通用方法,數(shù)組的toString方法返回?cái)?shù)組的字符串形式。
- push 方法用于在數(shù)組的末端添加一個(gè)或多個(gè)元素,并返回添加新元素后的數(shù)組長(zhǎng)度。注意,該方法會(huì)改變?cè)瓟?shù)組。
- pop 方法用于刪除數(shù)組的最后一個(gè)元素,并返回該元素。注意,該方法會(huì)改變?cè)瓟?shù)組。
- shift() 方法用于刪除數(shù)組的第一個(gè)元素,并返回該元素。注意,該方法會(huì)改變?cè)瓟?shù)組。
- unshift() 方法用于在數(shù)組的第一個(gè)位置添加元素,并返回添加新元素后的數(shù)組長(zhǎng)度。注意,該方法會(huì)改變?cè)瓟?shù)組。
- join() 方法以指定參數(shù)作為分隔符,將所有數(shù)組成員連接為一個(gè)字符串返回。如果不提供參數(shù),默認(rèn)用逗號(hào)分隔。
- concat 方法用于多個(gè)數(shù)組的合并。它將新數(shù)組的成員,添加到原數(shù)組成員的后部,然后返回一個(gè)新數(shù)組,原數(shù)組不變。
- reverse 方法用于顛倒排列數(shù)組元素,返回改變后的數(shù)組。注意,該方法將改變?cè)瓟?shù)組。
- slice 方法用于提取目標(biāo)數(shù)組的一部分,返回一個(gè)新數(shù)組,原數(shù)組不變。
- splice 方法用于刪除原數(shù)組的一部分成員,并可以在刪除的位置添加新的數(shù)組成員,返回值是被刪除的元素。注意,該方法會(huì)改變?cè)瓟?shù)組。
- sort 方法對(duì)數(shù)組成員進(jìn)行排序,默認(rèn)是按照字典順序排序。排序后,原數(shù)組將被改變。
- map 方法將數(shù)組的所有成員依次傳入?yún)?shù)函數(shù),然后把每一次的執(zhí)行結(jié)果組成一個(gè)新數(shù)組返回。
- forEach 方法與map方法很相似,也是對(duì)數(shù)組的所有成員依次執(zhí)行參數(shù)函數(shù)。但是,forEach方法不返回值,只用來(lái)操作數(shù)據(jù)。這就是說(shuō),如果數(shù)組遍歷的目的是為了得到返回值,那么使用map方法,否則使用forEach方法。
- filter 方法用于過(guò)濾數(shù)組成員,滿足條件的成員組成一個(gè)新數(shù)組返回。
- some 方法是只要一個(gè)成員的返回值是true,則整個(gè)some方法的返回值就是true,否則返回false。
- every 方法是所有成員的返回值都是true,整個(gè)every方法才返回true,否則返回false。
- reduce 是從左到右處理(從第一個(gè)成員到最后一個(gè)成員)依次處理數(shù)組的每個(gè)成員,最終累計(jì)為一個(gè)值
- reduceRight 則是從右到左(從最后一個(gè)成員到第一個(gè)成員),依次處理數(shù)組的每個(gè)成員,最終累計(jì)為一個(gè)值
- indexOf 方法返回給定元素在數(shù)組中第一次出現(xiàn)的位置,如果沒(méi)有出現(xiàn)則返回-1。
- lastIndexOf 方法返回給定元素在數(shù)組中最后一次出現(xiàn)的位置,如果沒(méi)有出現(xiàn)則返回-1。
3. 鏈?zhǔn)揭?/h4>
var users = [
{name: 'tom', email: 'tom@example.com'},
{name: 'peter', email: 'peter@example.com'}
];
users
.map(function (user) {
return user.email;
})
.filter(function (email) {
return /^t/.test(email);
})
.forEach(function (email) {
console.log(email);
});
// "tom@example.com"
var users = [
{name: 'tom', email: 'tom@example.com'},
{name: 'peter', email: 'peter@example.com'}
];
users
.map(function (user) {
return user.email;
})
.filter(function (email) {
return /^t/.test(email);
})
.forEach(function (email) {
console.log(email);
});
// "tom@example.com"