摘要:方法用于刪除原數(shù)組的一部分成員,并可以在刪除的位置添加新的數(shù)組成員,返回值是被刪除的元素。,這兩個方法,返回一個布爾值,表示判斷數(shù)組成員是否符合某種條件。該函數(shù)接受三個參數(shù)當前成員當前位置和整個數(shù)組,然后返回一個布爾值。
數(shù)組基礎(chǔ)篇二
數(shù)組對象
1.聲明數(shù)組的方法Array是 JavaScript 的原生對象,同時也是一個構(gòu)造函數(shù),可以用它生成新的數(shù)組。
var arr =new Array(3);//length:3等同于var arr=Array(3);
不建議使用上面的方法生成新數(shù)組
推薦使用這種方法生成數(shù)組var arr = [1, 2];
2.數(shù)組的方法2.1 Array.isArray()
Array.isArray方法返回一個布爾值,表示參數(shù)是否為數(shù)組。
2.2 valueOf(),toString()
valueOf方法是一個所有對象都擁有的方法,表示對該對象求值。不同對象的valueOf方法不盡一致,數(shù)組的valueOf方法返回數(shù)組本身。
toString方法也是對象的通用方法,數(shù)組的toString方法返回數(shù)組的字符串形式。
2.3 push(),pop()
push方法用于在數(shù)組的末端添加一個或多個元素,并返回添加新元素后的數(shù)組長度。
pop方法用于刪除數(shù)組的最后一個元素,并返回該元素。對空數(shù)組使用pop方法,不會報錯,而是返回undefined。
2.4 shift(),unshift()
shift方法用于刪除數(shù)組的第一個元素,并返回該元素。
unshift方法用于在數(shù)組的第一個位置添加元素,并返回添加新元素后的數(shù)組長度。
2.5 join()
join方法以指定參數(shù)作為分隔符,將所有數(shù)組成員連接為一個字符串返回。
通過call方法,這個方法也可以用于字符串或類似數(shù)組的對象。
2.6 concat()
concat方法用于多個數(shù)組的合并。它將新數(shù)組的成員,添加到原數(shù)組成員的后部,然后返回一個新數(shù)組,原數(shù)組不變。
除了數(shù)組作為參數(shù),concat也接受其他類型的值作為參數(shù),添加到目標數(shù)組尾部。
2.7 reverse()
reverse方法用于顛倒排列數(shù)組元素,返回改變后的數(shù)組。
2.8 slice()
slice方法用于提取目標數(shù)組的一部分,返回一個新數(shù)組,原數(shù)組不變。
arr.slice(start, end);
slice沒有參數(shù),等于返回一個原數(shù)組的拷貝。
2.9 splice()
splice方法用于刪除原數(shù)組的一部分成員,并可以在刪除的位置添加新的數(shù)組成員,返回值是被刪除的元素。
arr.splice(start, count, addElement1, addElement2, ...);
splice的第一個參數(shù)是刪除的起始位置(從0開始),第二個參數(shù)是被刪除的元素個數(shù)。如果后面還有更多的參數(shù),則表示這些就是要被插入數(shù)組的新元素。
2.10 sort()
sort方法對數(shù)組成員進行排序
var arr = [1,7,3,5,9,6]; arr.sort(function(a,b){ return a-b }) console.log(arr)// [1, 3, 5, 6, 7, 9]
var arr = [ {name:"張三",age:18}, {name:"王五",age:3}, {name:"李四",age:9} ]; arr.sort(function(a,b){ return a.age-b.age }) console.log(arr) // [{name:"王五",age:3},{name:"李四",age:9},{name:"張三",age:18}]
2.11 map()
map方法將數(shù)組的所有成員依次傳入?yún)?shù)函數(shù),然后把每一次的執(zhí)行結(jié)果組成一個新數(shù)組返回。
var arr=[1,2,3,4] var arr1=arr.map(function(n){ return n+1 }) console.log(arr1)//[2, 3, 4, 5] console.log(arr)//[1, 2, 3, 4]
map方法接受一個函數(shù)作為參數(shù)。該函數(shù)調(diào)用時,map方法向它傳入三個參數(shù):當前成員、當前位置和數(shù)組本身。
2.12 forEach()
forEach方法與map方法很相似,也是對數(shù)組的所有成員依次執(zhí)行參數(shù)函數(shù)。但是,forEach方法不返回值,只用來操作數(shù)據(jù)。這就是說,如果數(shù)組遍歷的目的是為了得到返回值,那么使用map方法,否則使用forEach方法。
forEach的用法與map方法一致,參數(shù)是一個函數(shù),該函數(shù)同樣接受三個參數(shù):當前值、當前位置、整個數(shù)組。
var arr=[1,2,3,4] arr.forEach(function(value,key){ console.log(key+":"+value) })
2.13 filter()
filter方法用于過濾數(shù)組成員,滿足條件的成員組成一個新數(shù)組返回。
它的參數(shù)是一個函數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù),返回結(jié)果為true的成員組成一個新數(shù)組返回。該方法不會改變原數(shù)組。
2.14 some(),every()
這兩個方法,返回一個布爾值,表示判斷數(shù)組成員是否符合某種條件。
它們接受一個函數(shù)作為參數(shù),所有數(shù)組成員依次執(zhí)行該函數(shù)。該函數(shù)接受三個參數(shù):當前成員、當前位置和整個數(shù)組,然后返回一個布爾值。
some方法是只要一個成員的返回值是true,則整個some方法的返回值就是true,否則返回false。
every方法是所有成員的返回值都是true,整個every方法才返回true,否則返回false。
2.15 reduce(),reduceRight()
reduce方法和reduceRight方法依次處理數(shù)組的每個成員,最終累計為一個值。它們的差別是,reduce是從左到右處理(從第一個成員到最后一個成員),reduceRight則是從右到左(從最后一個成員到第一個成員),其他完全一樣。
var arr=[1,2,3,4] arr.reduce(function(a,b){ console.log(a+b)//3,6 return a+b//15 }) //15
2.16 indexOf(),lastIndexOf()
indexOf方法返回給定元素在數(shù)組中第一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。
indexOf方法還可以接受第二個參數(shù),表示搜索的開始位置。
lastIndexOf方法返回給定元素在數(shù)組中最后一次出現(xiàn)的位置,如果沒有出現(xiàn)則返回-1。
這兩個方法不能用來搜索NaN的位置,即它們無法確定數(shù)組成員是否包含NaN。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/107708.html
摘要:學習筆記之數(shù)組二輸出什么為什么有三個參數(shù)數(shù)組元素,元素索引,數(shù)組本身有兩個參數(shù)元素本身以及進制語法參數(shù)可選。表示要解析的數(shù)字的基數(shù)。如果該參數(shù)小于或者大于,則將返回。當參數(shù)的值為或沒有設(shè)置該參數(shù)時,會根據(jù)來判斷數(shù)字的基數(shù)。 JavaScript學習筆記之數(shù)組(二) 1.[1,2,3].map(parseInt) 輸出什么,為什么? [1,2,3].map(parseInt)//[1,N...
摘要:本文接上篇,基礎(chǔ)部分相對薄弱的同學請移步正則表達式學習筆記一理論基礎(chǔ)。正則表達式標志符全局匹配,即找到所有匹配的。方法返回結(jié)果的格式不一致問題這個問題上文正則表達式學習筆記一理論基礎(chǔ)也有體現(xiàn),這里再單獨拿來說一說,以加深記憶。 showImg(https://segmentfault.com/img/remote/1460000014261596?w=600&h=338); 本文接上篇...
摘要:數(shù)組基礎(chǔ)篇數(shù)組的語法數(shù)組是按次序排列的一組值。屬性數(shù)組的屬性,返回數(shù)組的成員數(shù)量。通過設(shè)置的值改變數(shù)組的長度將屬性設(shè)為可以清空數(shù)組。類似數(shù)組的對象并不是數(shù)組,因為它們不具備數(shù)組特有的方法。 數(shù)組基礎(chǔ)篇 1.數(shù)組的語法 數(shù)組(array)是按次序排列的一組值。每個值的位置都有編號(從0開始)。var arr=[1,2,3] //arr[0]=1任何類型的數(shù)據(jù),都可以放入數(shù)組。 var ...
摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
摘要:入門,第一個這是一門很新的語言,年前后正式公布,算起來是比較年輕的編程語言了,更重要的是它是面向程序員的函數(shù)式編程語言,它的代碼運行在之上。它通過編輯類工具,帶來了先進的編輯體驗,增強了語言服務(wù)。 showImg(https://segmentfault.com/img/bV1xdq?w=900&h=385); 新的一年不知不覺已經(jīng)到來了,總結(jié)過去的 2017,相信小伙們一定有很多收獲...
閱讀 2784·2021-11-23 09:51
閱讀 3539·2021-10-08 10:17
閱讀 1273·2021-10-08 10:05
閱讀 1327·2021-09-28 09:36
閱讀 1844·2021-09-13 10:30
閱讀 2186·2021-08-17 10:12
閱讀 1682·2019-08-30 15:54
閱讀 2011·2019-08-30 15:53