Rumah >hujung hadapan web >tutorial js >Ringkasan 20 operasi tatasusunan JavaScript biasa

Ringkasan 20 operasi tatasusunan JavaScript biasa

藏色散人
藏色散人ke hadapan
2023-04-20 15:43:341600semak imbas

Objek Array dalam JavaScript, seperti tatasusunan dalam bahasa pengaturcaraan lain, ialah koleksi data. Dalam JavaScript, data di dalam tatasusunan boleh terdiri daripada jenis yang berbeza dan mempunyai kaedah untuk melaksanakan operasi biasa pada tatasusunan.

Terdapat tiga cara berbeza untuk mengisytiharkan tatasusunan

1 Cara konvensional

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

2 🎜>3. Literal

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

Kaedah objek tatasusunan

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

kaedah bagiSetiap() digunakan untuk memanggil setiap elemen tatasusunan, dan Elemen dihantar ke fungsi panggil balik. Tiada nilai pulangan, dan ia pada asasnya bersamaan dengan gelung for yang melaksanakan fungsi fungsi pada setiap item. Tatasusunan asal tidak akan diubah.

2 peta
// 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' ]

memproses setiap elemen tatasusunan melalui fungsi yang ditentukan dan mengembalikan tatasusunan yang diproses.

Kaedah map() mengembalikan tatasusunan baharu, dan elemen dalam tatasusunan ialah nilai elemen tatasusunan asal selepas memanggil fungsi tersebut. Kaedah memproses elemen secara berurutan dalam susunan elemen tatasusunan asal. Tatasusunan asal tidak akan diubah.

3. concat
// 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 ]

Kaedah

dalam JavaScript digunakan untuk menggabungkan dua atau lebih tatasusunan dan mengembalikan hasilnya.

concat()

4 tolak
// 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' ]

Kaedah

dalam tatasusunan Javascript digunakan untuk menambah satu atau lebih elemen pada penghujung tatasusunan dan kembali panjang baru.

push()5 unshift

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

Kaedah unshift() menambah satu atau lebih elemen pada permulaan tatasusunan dan mengembalikan panjang baharu.

6 pop

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

Kaedah pop() digunakan untuk memadamkan elemen terakhir tatasusunan dan mengembalikan elemen yang dipadamkan.

7 anjakan

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

Kaedah shift() digunakan untuk memadamkan elemen pertama tatasusunan daripadanya dan mengembalikan nilai elemen pertama<.>

8 kaedah splice

let fruits = ["Banana", "Orange", "Apple", "Mango"];
let result = fruits.shift()
console.log(fruits)
console.log(result)
// [ &#39;Orange&#39;, &#39;Apple&#39;, &#39;Mango&#39; ]
// Banana
splice() digunakan untuk menambah atau memadam elemen dalam tatasusunan dan mengembalikan tatasusunan elemen yang dipadamkan

9 slice

// 参数 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)
// [ &#39;Banana&#39;, &#39;Lemon&#39;, &#39;Kiwi&#39;, &#39;Mango&#39; ]
// [ &#39;Orange&#39;, &#39;Apple&#39; ]
kaedah slice() mengembalikan elemen terpilih daripada tatasusunan sedia ada. Anda juga boleh mengekstrak sebahagian daripada rentetan dan mengembalikan bahagian yang diekstrak sebagai rentetan baharu. Tatasusunan asal tidak akan diubah.

10 kaedah join

// 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)
// [ &#39;Banana&#39;, &#39;Orange&#39;, &#39;Lemon&#39;, &#39;Apple&#39;, &#39;Mango&#39; ]
// [ &#39;Orange&#39;, &#39;Lemon&#39; ]
// [ &#39;Lemon&#39;, &#39;Apple&#39;, &#39;Mango&#39; ]
join() boleh menggabungkan semua elemen tatasusunan menjadi rentetan. Ia berkelakuan seperti toString(), tetapi anda juga boleh menentukan pembatas

11 setiap

// separator: 可选,指定要使用的分隔符 如果省略该参数,则使用逗号作为分隔符
array.join(separator)
let fruits = ["Banana", "Orange", "Apple", "Mango"];
let energy1 = fruits.join();
let energy2 = fruits.join(&#39;-&#39;);
console.log(energy1)
console.log(energy2)
// Banana,Orange,Apple,Mango
// Banana-Orange-Apple-Mango
setiap kaedah() digunakan untuk mengesan tatasusunan Sama ada semua elemen memenuhi kriteria yang ditentukan (disediakan oleh fungsi).

12 penapis

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
kaedah penapis() mencipta tatasusunan baharu. daripada semua elemen. Tatasusunan asal tidak akan diubah.

13 kaedah indexOf

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 ]
indexOf() mengembalikan kedudukan di mana nilai rentetan yang ditentukan mula-mula muncul dalam rentetan. Jika tidak dijumpai, -1 akan dikembalikan

14 kaedah reduce

// 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
reduce() menerima fungsi sebagai penumpuk, setiap nilai dalam. tatasusunan (dari kiri ke kanan) mula berkurangan dan akhirnya mengira kepada satu nilai.

15 terbalik

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
kaedah songsang() digunakan untuk membalikkan susunan unsur dalam tatasusunan. Akan menukar tatasusunan asal dan mengembalikan tatasusunan dalam susunan yang diubah.

16. Isih

let fruits = ["Banana", "Orange", "Apple", "Mango"]
let resut = fruits.reverse()
console.log(fruits)
console.log(resut)
// [ &#39;Mango&#39;, &#39;Apple&#39;, &#39;Orange&#39;, &#39;Banana&#39; ]
// [ &#39;Mango&#39;, &#39;Apple&#39;, &#39;Orange&#39;, &#39;Banana&#39; ]
Kaedah sort() digunakan untuk mengisih unsur tatasusunan. Susunan isihan boleh mengikut abjad atau berangka, dan dalam susunan menaik atau menurun.

17 toString

// 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)
// [ &#39;Apple&#39;, &#39;Banana&#39;, &#39;Mango&#39;, &#39;Orange&#39; ]
// [ 3, 4, 5, 7, 9, 10 ]
// [ 10, 9, 7, 5, 4, 3 ]
toString() kaedah digunakan untuk menukar nombor kepada rentetan.

18 Kaedah at

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
menerima nilai integer dan mengembalikan nilai indeks at, kedua-dua integer positif dan negatif boleh diterima. Integer negatif bermaksud mengira detik daripada item terakhir dalam tatasusunan.

at()19. kaedah find

array.at(index)
let str = &#39;helso word&#39;
let item1 = str.at(2)
let item2 = str.at(-1)
console.log(item1)
console.log(item2)
// l
// d
find() mengembalikan nilai elemen pertama tatasusunan yang lulus ujian (dinilai dalam fungsi).

20 beberapa

array.find(function(currentValue, index, arr),thisValue)
let ages = [3, 10, 18, 20];
function checkAdult(age) {
  return age >= 18;
}
let value = ages.find(checkAdult)
console.log(value)
// 18
kaedah() digunakan untuk mengesan sama ada elemen dalam tatasusunan memenuhi syarat yang ditetapkan (disediakan oleh fungsi. ).

Atas ialah kandungan terperinci Ringkasan 20 operasi tatasusunan JavaScript biasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.im. Jika ada pelanggaran, sila hubungi admin@php.cn Padam