Heim  >  Artikel  >  Web-Frontend  >  Zusammenfassung von 20 gängigen JavaScript-Array-Operationen

Zusammenfassung von 20 gängigen JavaScript-Array-Operationen

藏色散人
藏色散人nach vorne
2023-04-20 15:43:341586Durchsuche

Das Array-Objekt in JavaScript ist, wie Arrays in anderen Programmiersprachen, eine Sammlung von Daten. In JavaScript können die Daten in einem Array unterschiedlichen Typs sein und verfügen über Methoden zum Ausführen allgemeiner Operationen an Arrays. Array对象与其他编程语言中的数组一样,是一组数据的集合。在JavaScript中,数组里面的数据可以是不同类型的,并具有用于执行数组常见操作的方法。

声明数组

有三种不同的声明方式

1. 常规方式

const hobbys = new Array()
hobbys[0] = 'Basketball'
hobbys[1] = 'Badminton'
hobbys[2] = 'swimming'
console.log(hobbys)
// [ 'Basketball', 'Badminton', 'swimming' ]

2. 简洁方式

const hobbys = new Array('Basketball', 'Badminton','swimming')
console.log(hobbys)
// [ 'Basketball', 'Badminton', 'swimming' ]

3. 字面

const hobbys = ['Basketball','Badminton','swimming']
console.log(hobbys)
// [ 'Basketball', 'Badminton', 'swimming' ]

Array 对象方法

1. forEach

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。没有返回值,本质上等同于 for 循环,对每一项执行 function 函数。不会改变原数组。

// currentValue:必需,当前元素 index:可选,当前元素的索引值 arr:可选,当前元素所属的数组对象。
array.forEach(function(currentValue, index, arr))
let array = ['a', 'b', 'c']
let func = (currentValue, index, arr) => {
  currentValue += 's'  
  console.log('currentValue:' + currentValue + ' index:' + index + ' arr:' + arr)
}
array.forEach(func)
console.log(array)

// 控制台输出:
// currentValue:as index:0 arr:a,b,c
// currentValue:bs index:1 arr:a,b,c
// currentValue:cs index:2 arr:a,b,c
// [ 'a', 'b', 'c' ]

2. map

通过指定函数处理数组的每个元素,并返回处理后的数组。

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。方法按照原始数组元素顺序依次处理元素。不会改变原数组。

// currentValue:必须,当前元素的值  index:可选,当前元素的索引值 arr:可选,当前元素属于的数组对象
array.map(function(currentValue,index,arr))
let array = [1, 2, 3, 4, 5]
let result = array.map((item) => { 
  return item += 5
})
console.log(array)
console.log(result)
// [ 1, 2, 3, 4, 5 ]
// [ 6, 7, 8, 9, 10 ]

3. concat

JavaScript中的 concat() 方法用来连接两个或更多的数组,并返回结果。

// array1, array2, ..., arrayN 必需,该参数可以是具体的值,也可以是数组对象,可以是任意多个
array1.concat(array2,array3,...,arrayN)
const array1 = ['a', 'b', 'c']
const array2 = ['d', 'e', 'f']
const array3 = array1.concat(array2)
console.log(array3)
const array4 = array1.concat('123')
console.log(array4)
// [ 'a', 'b', 'c', 'd', 'e', 'f' ]
// [ 'a', 'b', 'c', '123' ]

4. push

Javascript数组中的 push() 方法用来向数组的末尾添加一个或更多元素,并返回新的长度。

let fruits = ["Banana", "Orange", "Apple", "Mango"]
let length = fruits.push("Kiwi")
console.log(fruits)
console.log(length)
// [ 'Banana', 'Orange', 'Apple', 'Mango', 'Kiwi' ]
// 5

5. unshift

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

let fruits = ["Banana", "Orange", "Apple", "Mango"]
let length = fruits.unshift("Lemon", "Pineapple")
console.log(fruits)
console.log(length)
// [ 'Lemon', 'Pineapple', 'Banana', 'Orange', 'Apple', 'Mango' ]
// 6

6. pop

pop() 方法用于删除数组的最后一个元素并返回删除的元素。

let sites = ['Google', 'Runoob', 'Taobao', 'Zhihu', 'Baidu']
let result = sites.pop()
console.log(sites)
console.log(result)
// [ 'Google', 'Runoob', 'Taobao', 'Zhihu' ]
// Baidu

7. shift

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值

let fruits = ["Banana", "Orange", "Apple", "Mango"];
let result = fruits.shift()
console.log(fruits)
console.log(result)
// [ 'Orange', 'Apple', 'Mango' ]
// Banana

8. splice

splice() 方法用于添加或删除数组中的元素,并返回删除的元素数组

// 参数 Values: index: 必需,规定从何处添加/删除元素
// howmany: 可选,规定应该删除多少元素 必须是数字,但可以是 "0"
// item1, ..., itemX 可选,要添加到数组的新元素
array.splice(index,howmany,item1,.....,itemX)
let fruits = ["Banana", "Orange", "Apple", "Mango"]
let result = fruits.splice(1, 2, "Lemon", "Kiwi")
console.log(fruits)
console.log(result)
// [ 'Banana', 'Lemon', 'Kiwi', 'Mango' ]
// [ 'Orange', 'Apple' ]

9. slice

slice() 方法可从已有的数组中返回选定的元素。也可提取字符串的某个部分,并以新的字符串返回被提取的部分。不会改变原数组。

// start: 可选,规定从何处开始选取 若为负值,表示从原数组中的倒数第几个元素开始提取
// end: 可选,规定从何处结束选取 如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素
array.slice(start, end)
let fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"]
let result1 = fruits.slice(1, 3)
let result2 = fruits.slice(2)
console.log(fruits)
console.log(result1)
console.log(result2)
// [ 'Banana', 'Orange', 'Lemon', 'Apple', 'Mango' ]
// [ 'Orange', 'Lemon' ]
// [ 'Lemon', 'Apple', 'Mango' ]

10. join

join() 方法可将所有数组元素结合为一个字符串。它的行为类似 toString(),但是您还可以规定分隔符

// separator: 可选,指定要使用的分隔符 如果省略该参数,则使用逗号作为分隔符
array.join(separator)
let fruits = ["Banana", "Orange", "Apple", "Mango"];
let energy1 = fruits.join();
let energy2 = fruits.join('-');
console.log(energy1)
console.log(energy2)
// Banana,Orange,Apple,Mango
// Banana-Orange-Apple-Mango

11. every

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

array.every(function(currentValue,index,arr))
let ages = [32, 33, 16, 40]
let nums = [32, 33, 19, 40]
function checkAdult(age) {
  return age >= 18
}
function checkNums(num) {
  return num >= 18
}
// 16不满足大于18,故结果false
let result1 = ages.every(checkAdult)
// 每一项都满足条件,故结果true
let result2 = nums.every(checkNums)
console.log(result1)
console.log(result2)
// false
// true

12. filter

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。不会改变原数组。

array.filter(function(currentValue,index,arr), thisValue)
let ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
let result = ages.filter(checkAdult)
console.log(result)
// [ 32, 33, 40 ]

13. indexOf

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。没有找到会返回-1

// searchvalue: 必需。规定需检索的字符串值。
// start: 可选的整数参数。规定在字符串中开始检索的位置。值:0~array.length-1
string.indexOf(searchvalue,start)
let str = "Hello world, welcome to the universe.";
// 输出w所在的下标索引13(空格也算),没有找到会返回-1
let n = str.indexOf("welcome");
console.log(n)
console.log(str[n])
// 13
// w

14. reduce

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
let numbers = [2, 3, 5, 6]
function getSum(total, num) {
  return total + num
}
let result = numbers.reduce(getSum, 0)
console.log(result)
// 16

15. reverse

reverse() 方法用于颠倒数组中元素的顺序。会改变原数组,并返回改变顺序的数组。

let fruits = ["Banana", "Orange", "Apple", "Mango"]
let resut = fruits.reverse()
console.log(fruits)
console.log(resut)
// [ 'Mango', 'Apple', 'Orange', 'Banana' ]
// [ 'Mango', 'Apple', 'Orange', 'Banana' ]

16. sort

sort() 方法用于对数组的元素进行排序。排序顺序可以是字母或数字,并按升序或降序。

// sortfunction: 可选。规定排序顺序。必须是函数。
array.sort(sortfunction)
let fruits = ["Banana", "Orange", "Apple", "Mango"]
let ages = [9, 3, 4, 5, 7, 10]
// 升序
let agesFunAsc = function (ag1,ag2) {
  return ag1 - ag2
}
// 降序
let agesFunDes= function (ag1,ag2) {
  return -(ag1 - ag2)
}
fruits.sort()
ages.sort(agesFunAsc)
console.log(fruits)
console.log(ages)
ages.sort(agesFunDes)
console.log(ages)
// [ 'Apple', 'Banana', 'Mango', 'Orange' ]
// [ 3, 4, 5, 7, 9, 10 ]
// [ 10, 9, 7, 5, 4, 3 ]

17. toString

toString() 方法用于把数字转换为字符串。

number.toString(radix)
let num = 15
let n = num.toString()
// 也可以使用不同的进制把一个数字转换为字符串
// 2进制
let b = num.toString(2);
// 8进制
let c = num.toString(8);
// 16进制
let d = num.toString(16);
console.log(n)
console.log(b)
console.log(c)
console.log(d)
// 15
// 1111
// 17
// f

18. at

at()

Array deklarieren

Es gibt drei verschiedene Möglichkeiten,

1 zu deklarieren. Regulärer Weg

array.at(index)

2. Prägnante Methode

let str = 'helso word'
let item1 = str.at(2)
let item2 = str.at(-1)
console.log(item1)
console.log(item2)
// l
// d

3. Literal
array.find(function(currentValue, index, arr),thisValue)

Array-Objektmethode

1. Die Methode forEach

forEach() wird verwendet, um jedes Element des Arrays aufzurufen und das Element an die Rückruffunktion zu übergeben. Es gibt keinen Rückgabewert und entspricht im Wesentlichen einer for-Schleife, die die Funktionsfunktion für jedes Element ausführt. Das ursprüngliche Array wird nicht verändert.

let ages = [3, 10, 18, 20];
function checkAdult(age) {
  return age >= 18;
}
let value = ages.find(checkAdult)
console.log(value)
// 18
array.some(function(currentValue,index,arr),thisValue)

2. map verarbeitet jedes Element des Arrays über die angegebene Funktion und gibt das verarbeitete Array zurück. Die Methode

🎜🎜map() gibt ein neues Array zurück, und die Elemente im Array sind die Werte der ursprünglichen Array-Elemente nach dem Aufruf der Funktion. Die Methode verarbeitet Elemente nacheinander in der ursprünglichen Array-Elementreihenfolge. Das ursprüngliche Array wird nicht verändert. 🎜
let ages = [3, 10, 19, 20];
function checkAdult(age) {
  return age > 18;
}
let result = ages.some(checkAdult)
console.log(result)
// true
rrreee

3. concat🎜🎜🎜Die concat()-Methode in JavaScript wird verwendet, um zwei oder mehr Arrays zu verketten und das Ergebnis zurückzugeben. 🎜🎜rrreeerrreee

4. push🎜🎜🎜Die push()-Methode im Javascript-Array wird verwendet, um ein oder mehrere Elemente am Ende des Arrays hinzuzufügen , und Gibt die neue Länge zurück. 🎜🎜rrreee

5. Die unshift()-Methode fügt ein oder mehrere Elemente am Anfang des Arrays hinzu und gibt die neue Länge zurück. 🎜🎜rrreee

6. Die Methode pop🎜🎜🎜pop() wird verwendet, um das letzte Element des Arrays zu löschen und das gelöschte Element zurückzugeben. 🎜🎜rrreee

7. Die Methode „shift()“ wird verwendet, um das erste Element des Arrays zu löschen und den Wert des ersten Elements zurückzugeben🎜🎜rrreee8. Die Methode splice🎜🎜🎜splice() wird verwendet, um Elemente im Array hinzuzufügen oder zu löschen und das Array gelöschter Elemente zurückzugeben🎜🎜rrreeerrreee

9 . Die Methode Slice🎜🎜🎜slice() gibt ausgewählte Elemente aus einem vorhandenen Array zurück. Sie können auch einen Teil einer Zeichenfolge extrahieren und den extrahierten Teil als neue Zeichenfolge zurückgeben. Das ursprüngliche Array wird nicht verändert. 🎜🎜rrreeerrreee

10. Die Methode join🎜🎜🎜join() kann alle Array-Elemente zu einem String zusammenfassen. Es verhält sich wie toString(), aber Sie können auch das Trennzeichen 🎜🎜rrreeerrreee

11 angeben. Die Methode every🎜🎜🎜every() wird verwendet, um zu erkennen, ob alle Elemente des Arrays vorhanden sind entspricht der angegebenen Bedingung (bereitgestellt über die Funktion). 🎜🎜rrreeerrreee

12. Die Methode filter🎜🎜🎜filter() erstellt ein neues Array und die Elemente im neuen Array werden auf alle Elemente im angegebenen Array überprüft, die die Bedingungen erfüllen . Das ursprüngliche Array wird nicht verändert. 🎜🎜rrreeerrreee

13. Die Methode indexOf🎜🎜🎜indexOf() kann die Position zurückgeben, an der ein angegebener Zeichenfolgenwert zum ersten Mal in der Zeichenfolge erscheint. Wenn nicht gefunden, wird -1 zurückgegeben nach rechts) Beginnt mit der Reduktion und berechnet schließlich einen Wert. 🎜🎜rrreeerrreee

15. Die Methode reverse🎜🎜🎜reverse() wird verwendet, um die Reihenfolge der Elemente im Array umzukehren. Ändert das ursprüngliche Array und gibt das Array in geänderter Reihenfolge zurück. 🎜🎜rrreee

16. Die Methode sort🎜🎜🎜sort() wird zum Sortieren der Elemente des Arrays verwendet. Die Sortierreihenfolge kann alphabetisch oder numerisch sowie aufsteigend oder absteigend sein. 🎜🎜rrreeerrreee

17. Die Methode toString🎜🎜🎜toString() wird zum Konvertieren von Zahlen in Zeichenfolgen verwendet. 🎜🎜rrreeerrreee

18. Die at🎜🎜at()-Methode akzeptiert einen ganzzahligen Wert und gibt den Wert des at-Index zurück, sowohl positive als auch negative ganze Zahlen sind akzeptabel. Eine negative Ganzzahl bedeutet, dass vom letzten Element im Array abwärts gezählt wird. 🎜rrreeerrreee🎜19. Die Methode find🎜🎜🎜find() gibt den Wert des ersten Elements des Arrays zurück, das den Test besteht (beurteilt innerhalb der Funktion). 🎜🎜rrreeerrreee🎜20. Die Methode some🎜🎜🎜some() wird verwendet, um zu erkennen, ob die Elemente im Array die angegebenen Bedingungen erfüllen (bereitgestellt durch die Funktion). 🎜🎜rrreeerrree🎜

Das obige ist der detaillierte Inhalt vonZusammenfassung von 20 gängigen JavaScript-Array-Operationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.im. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen