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