javascript
JavaScript数组常用方法总结及使用详解
方法簡介
JavaScript中的數(shù)組是一種非常重要的數(shù)據(jù)類型,它提供了許多方法來處理和操作數(shù)組數(shù)據(jù)。下面是一些常用的JavaScript數(shù)組方法:
push(): 向數(shù)組末尾添加一個(gè)或多個(gè)元素,并返回新的數(shù)組長度。
pop(): 從數(shù)組末尾刪除一個(gè)元素,并返回刪除的元素。
shift(): 從數(shù)組開頭刪除一個(gè)元素,并返回刪除的元素。
unshift(): 向數(shù)組開頭添加一個(gè)或多個(gè)元素,并返回新的數(shù)組長度。
slice(): 從數(shù)組中復(fù)制一部分元素,并返回一個(gè)新的數(shù)組。
splice(): 在數(shù)組中添加或刪除元素,并返回被刪除元素的數(shù)組。
concat(): 連接兩個(gè)或多個(gè)數(shù)組,并返回一個(gè)新的數(shù)組。
join(): 把數(shù)組中的所有元素轉(zhuǎn)換為字符串,并用指定的分隔符分隔,返回字符串。
reverse(): 反轉(zhuǎn)數(shù)組中元素的順序,并返回反轉(zhuǎn)后的數(shù)組。
sort(): 對(duì)數(shù)組元素進(jìn)行排序,并返回排序后的數(shù)組。
indexOf(): 返回指定元素在數(shù)組中第一次出現(xiàn)的位置,如果不存在則返回-1。
lastIndexOf(): 返回指定元素在數(shù)組中最后一次出現(xiàn)的位置,如果不存在則返回-1。
filter(): 過濾數(shù)組中的元素,并返回符合條件的元素組成的新數(shù)組。
map(): 對(duì)數(shù)組中的每個(gè)元素進(jìn)行操作,并返回一個(gè)新數(shù)組。
reduce(): 從左到右對(duì)數(shù)組中的元素進(jìn)行操作,并返回一個(gè)值。
方法詳解
1.push
push() 該方法向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的數(shù)組長度。它的語法如下:arr.push(element1[, element2[, ...[, elementN]]])
let fruits = ['apple', 'banana', 'orange']; let length = fruits.push('grape', 'pear'); console.log(fruits); // ["apple", "banana", "orange", "grape", "pear"] console.log(length); // 52.pop()
該方法從數(shù)組的末尾刪除一個(gè)元素,并返回刪除的元素。它的語法如下:arr.pop()
let fruits = ['apple', 'banana', 'orange']; let lastFruit = fruits.pop(); console.log(fruits); // ["apple", "banana"] console.log(lastFruit); // "orange"3.shift()
該方法從數(shù)組的開頭刪除一個(gè)元素,并返回刪除的元素。它的語法如下:arr.shift()
let fruits = ['apple', 'banana', 'orange']; let firstFruit = fruits.shift(); console.log(fruits); // ["banana", "orange"] console.log(firstFruit); // "apple"4.unshift()
該方法向數(shù)組的開頭添加一個(gè)或多個(gè)元素,并返回新的數(shù)組長度。它的語法如下:arr.unshift(element1[, element2[, ...[, elementN]]])
let fruits = ['apple', 'banana', 'orange']; let length = fruits.unshift('grape', 'pear'); console.log(fruits); // ["grape", "pear", "apple", "banana", "orange"] console.log(length); // 55.slice()
該方法從數(shù)組中復(fù)制一部分元素,并返回一個(gè)新的數(shù)組。它的語法如下:arr.slice([begin[, end]])
let fruits = ['apple', 'banana', 'orange', 'grape', 'pear']; let slicedFruits = fruits.slice(1, 4); console.log(slicedFruits); // ["banana", "orange", "grape"]6.splice()
該方法在數(shù)組中添加或刪除元素,并返回被刪除元素的數(shù)組。它的語法如下:arr.splice(start[, deleteCount[, item1[, item2[, ...]]]])
let fruits = ['apple', 'banana', 'orange', 'grape', 'pear']; let removedFruits = fruits.splice(2, 2, 'kiwi', 'mango'); console.log(fruits); // ["apple", "banana", "kiwi", "mango", "pear"] console.log(removedFruits); // ["orange", "grape"]7.concat()
該方法連接兩個(gè)或多個(gè)數(shù)組,并返回一個(gè)新的數(shù)組。它的語法如下:arr.concat(array1[, array2[, ...[, arrayN]]])
let fruits1 = ['apple', 'banana', 'orange']; let fruits2 = ['grape', 'pear']; let allFruits = fruits1.concat(fruits2); console.log(allFruits); // ["apple", "banana", "orange", "grape", "pear"]8.join()
該方法把數(shù)組中的所有元素轉(zhuǎn)換為字符串,并用指定的分隔符分隔,返回字符串
let fruits = ['apple', 'banana', 'orange']; let joinedFruits = fruits.join(', '); console.log(joinedFruits); // "apple, banana, orange"9.indexOf()
該方法返回?cái)?shù)組中第一個(gè)找到的指定元素的索引,如果沒找到則返回-1。它的語法如下:arr.indexOf(searchElement[, fromIndex])
let fruits = ['apple', 'banana', 'orange']; let index = fruits.indexOf('banana'); console.log(index); // 110.lastIndexOf()
該方法返回?cái)?shù)組中最后一個(gè)找到的指定元素的索引,如果沒找到則返回-1。它的語法如下:arr.lastIndexOf(searchElement[, fromIndex])
let fruits = ['apple', 'banana', 'orange', 'banana']; let index = fruits.lastIndexOf('banana'); console.log(index); // 311.includes()
該方法返回一個(gè)布爾值,表示數(shù)組是否包含指定元素。它的語法如下:arr.includes(searchElement[, fromIndex])
let fruits = ['apple', 'banana', 'orange']; let hasBanana = fruits.includes('banana'); console.log(hasBanana); // true12.forEach()
該方法對(duì)數(shù)組中的每個(gè)元素執(zhí)行指定的操作。它的語法如下:arr.forEach(callback(currentValue[, index[, array]])[, thisArg])
let fruits = ['apple', 'banana', 'orange']; fruits.forEach(function(fruit, index) {console.log(index + ": " + fruit); }); // 0: apple // 1: banana // 2: orange13.map()
該方法創(chuàng)建一個(gè)新數(shù)組,其中的元素是對(duì)原數(shù)組中的每個(gè)元素應(yīng)用指定的操作后的結(jié)果。它的語法如下:arr.map(callback(currentValue[, index[, array]])[, thisArg])
let numbers = [1, 2, 3]; let doubledNumbers = numbers.map(function(number) {return number * 2; }); console.log(doubledNumbers); // [2, 4, 6]14.filter()
該方法創(chuàng)建一個(gè)新數(shù)組,其中的元素是原數(shù)組中符合指定條件的元素。它的語法如下:arr.filter(callback(currentValue[, index[, array]])[, thisArg])
let numbers = [1, 2, 3, 4, 5]; let evenNumbers = numbers.filter(function(number) {return number % 2 == 0; }); console.log(evenNumbers); // [2, 4]15.reduce()
該方法對(duì)數(shù)組中的元素逐個(gè)執(zhí)行指定的操作,返回一個(gè)累積的結(jié)果。它的語法如下:arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])
let arr = [1, 2, 3, 4, 5];// 刪除 reduce 的初始值(沒有 0) let result = arr.reduce((sum, current) => sum + current);alert( result ); // 15題尾
分享今天學(xué)的一首詩
月夜
唐 杜甫
?今夜鄜州月,閨中只獨(dú)看。
?遙憐小兒女,未解憶長安。
?香霧云鬟濕,清輝玉臂寒。
? 何時(shí)倚虛幌,雙照淚痕干。
? 這首詩借看月而抒離情,但抒發(fā)的不是一般情況下的夫婦離別之情。字里行間,表現(xiàn)出時(shí)代的特征,離亂之痛和內(nèi)心之憂熔于一爐,對(duì)月惆悵,憂嘆愁思,而希望則寄托于不知“何時(shí)”的未來。
總結(jié)
以上是生活随笔為你收集整理的JavaScript数组常用方法总结及使用详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【android】项目案例(一)之超级课
- 下一篇: MySQL联合索引以及索引顺序优化