Ringkasan 20 operasi tatasusunan JavaScript biasa

藏色散人
Lepaskan: 2023-04-20 15:43:34
ke hadapan
1578 orang telah melayarinya

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' ]
Salin selepas log masuk

2 🎜>3. Literal

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

Kaedah objek tatasusunan

const hobbys = ['Basketball','Badminton','swimming']
console.log(hobbys)
// [ 'Basketball', 'Badminton', 'swimming' ]
Salin selepas log masuk
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))
Salin selepas log masuk
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' ]
Salin selepas log masuk

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))
Salin selepas log masuk
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 ]
Salin selepas log masuk

Kaedah

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

concat()

4 tolak
// array1, array2, ..., arrayN 必需,该参数可以是具体的值,也可以是数组对象,可以是任意多个
array1.concat(array2,array3,...,arrayN)
Salin selepas log masuk
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' ]
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk
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)
Salin selepas log masuk
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; ]
Salin selepas log masuk
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)
Salin selepas log masuk
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; ]
Salin selepas log masuk
join() boleh menggabungkan semua elemen tatasusunan menjadi rentetan. Ia berkelakuan seperti toString(), tetapi anda juga boleh menentukan pembatas

11 setiap

// separator: 可选,指定要使用的分隔符 如果省略该参数,则使用逗号作为分隔符
array.join(separator)
Salin selepas log masuk
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
Salin selepas log masuk
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))
Salin selepas log masuk
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
Salin selepas log masuk
kaedah penapis() mencipta tatasusunan baharu. daripada semua elemen. Tatasusunan asal tidak akan diubah.

13 kaedah indexOf

array.filter(function(currentValue,index,arr), thisValue)
Salin selepas log masuk
let ages = [32, 33, 16, 40];
function checkAdult(age) {
  return age >= 18;
}
let result = ages.filter(checkAdult)
console.log(result)
// [ 32, 33, 40 ]
Salin selepas log masuk
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)
Salin selepas log masuk
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
Salin selepas log masuk
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)
Salin selepas log masuk
let numbers = [2, 3, 5, 6]
function getSum(total, num) {
  return total + num
}
let result = numbers.reduce(getSum, 0)
console.log(result)
// 16
Salin selepas log masuk
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; ]
Salin selepas log masuk
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)
Salin selepas log masuk
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 ]
Salin selepas log masuk
toString() kaedah digunakan untuk menukar nombor kepada rentetan.

18 Kaedah at

number.toString(radix)
Salin selepas log masuk
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
Salin selepas log masuk
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)
Salin selepas log masuk
let str = &#39;helso word&#39;
let item1 = str.at(2)
let item2 = str.at(-1)
console.log(item1)
console.log(item2)
// l
// d
Salin selepas log masuk
find() mengembalikan nilai elemen pertama tatasusunan yang lulus ujian (dinilai dalam fungsi).

20 beberapa

array.find(function(currentValue, index, arr),thisValue)
Salin selepas log masuk
let ages = [3, 10, 18, 20];
function checkAdult(age) {
  return age >= 18;
}
let value = ages.find(checkAdult)
console.log(value)
// 18
Salin selepas log masuk
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!

Label berkaitan:
sumber:juejin.im
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!