Rumah hujung hadapan web tutorial js Js数组的操作push,pop,shift,unshift等方法详细介绍_javascript技巧

Js数组的操作push,pop,shift,unshift等方法详细介绍_javascript技巧

May 16, 2016 pm 05:44 PM
pop push Operasi tatasusunan

js中针对数组操作的方法还是比较多的,今天突然想到来总结一下,也算是温故而知新吧。不过不会针对每个方法进行讲解,我只是选择其中的一些来讲。

首先来讲一下push和pop方法,这两个方法只会对数组从尾部进行压入或弹出,而且是在原数组进行操作,任何的改动都是会影响到操作的数组。push(args)可以每次压入多个元素,并返回更新后的数组长度。pop()函数每次只会弹出最后一个结尾的元素,并返回弹出的元素,如果是对空组数调用pop()则返回undefined。 如果参数是数组则是将整个数组当做一个元素压入到原来的数组当中。并不会产生类似concat合并数组时产生的“拆分现象”,下面看例子

例1:
var oldArr=[1,2,3];
alert(oldArr.push(4,[5,6]))–>5(这里只会将[5,6]当做一个元素来计算,返回更新后的数组长度5)
此时oldArr–>[1,2,3,4,[5,6]]
alert(oldArr.pop())–>[5,6](这里弹出最后一个元素[5,6],而不是6)
此时oldArr–>[1,2,3,4]
oldArr.pop()–>4
oldArr.pop()–>3
oldArr.pop()–>2
oldArr.pop()–>1
oldArr.pop()–>undefined(空数组弹出)
现在讲完push和pop再来看一下unshift和shift
这两个方法都是通过对数组的头部进行的操作,其他基本跟push和pop类似,但是在IE中unshift方法返回的是undefined

例2:
var oldArr2=[1,2];
oldArr2.unshift(3)–>undefined
此时oldArr2为–>[3,1,2]
oldArr2.shift()–>3
此时oldArr2为[1,2]
接下来看一下功能强大一点的splice,利用其可以进行数组随意位置的元素添加,删除 ,其操作也是在原有

数组上修改
splice(start,deleteCnt,args) 中的start表示开始操作下标,deleteCnt表示从开始下标开始(包括该元素)要删除的元素个数,删除操作返回删除的元素。args表示用来替换删除掉的那些元素(可以有多个参数),start和deleteCnt必须为数字,如果不是数字尝试转换,转换失败当做0来处理。splice必须至少有一个start元素,否则不做任何操作。deleteCnt不存在表示删除start及后面的全部元素(IE下,取0不做删除)。start可以为负数,表示从数组右边结尾处开始计算。deleteCnt如果为负数不做删除,因为不可能删除负个元素。
好了解释就到这边现在看一下例子,通过例子或许可以更好的理解

例3
var oldArr3=[1,2];
oldArr3.splice()–>”"(返回空的字符串,不做任何操作,操作后oldArr3–>[1,2])
oldArr3.splice(“”)–>[1,2](“”尝试转换为数字失败返回0,所以删除1,2,操作后oldArr3–>[],但是IE下有点恶心,不做任何操作)
oldArr3.splice(“1a”)–>同上
odlArr3.splice(0,2)–>[1,2](“从下标0的元素开始,删除两个元素1,2因此删除后oldArr3–>[])
oldArr3.splice(0,-1)–>”"(从0下标开始删除-1个元素,故等于没做任何操作,操作后oldArr3–>[1,2])
oldArr3.splice(1,1)–>2(从下标1 开始删除1个元素,即删除2,所以删除后oldArr3–>[1])
oldArr3.splice(1,4)–>2(从下标1 开始删除4个元素,1开始只有1个元素,故删除2,所以删除后oldArr3–>[1])
oldArr3.splice(-1,0,3)–>”"(从下标-1即2元素开始删除0个元素,然后添加元素3,所以操作后oldArr3–>[1,3,2])
oldArr3.splice(-1,1,3)–>2(从小标-1即2元素开始删除1个元素,然后添加元素3,操作后为oldArr3–>[1,3])
OK接下来开始讲concat,这个方法用来连接两个或多个数组,该数组不会改变原来的数组只会返回新的一个数组。连接的时候参数如果为数组,则连接的是数组中的元素。因为比较简单直接开始例子

例4:
var oldArr4=[1,2];
oldArr4.concat(3,4)–>[1,2,3,4]
oldArr4.concat(3,4,[5,6])–>[1,2,3,4,5,6](这边添加的是[5,6]中的元素5和元素6)
oldArr4.concat(3,[4,[5,6]])–>[1,2,3,4,[5,6]](这边最里层的元素[5,6]整个用来添加,而不是拆开)
下面来讲数组中的排序方法sort
sort(function)是针对原数组进行的排序,不会生成新的数组。默认sort()不带参数时按照数组中的元素转换成字符串进行比较,比较的时候按照字符在字符编码中的顺序进行排序,每个字符都有一个唯一的编码与其对应。

且看下面例子
var oldArr5=[3,1,5,7,17] 看这个一般观念上以为对oldArr5排序时oldArr5.sort()会按照数字从小到大排序即返回[1,3,5,7,17],但是看一下结果其实不然返回的是[1,17,3,5,7] 因为比较的时候都被转成字符串。然后对字符串进行一个个的比较如果第一个字符相同则比较第二个,否则直接返回比较结果,因为”17″
sort(function)方法除了默认的无参外还可以传入自定义的排序方法,这样排序的结果完全可以由自己来控制了,想怎么排就怎么排,是不是很爽啊,呵呵。 一般自定义的function比较函数,包含两个参数分别代表用来比较的左元素和右元素。然后通过一定方式返回一个结果,如果返回值大于0表示交换左右元素,如果返回值小于0或等于0则表示不不会交换左右元素。现在来看一下例子

例5:
按照数字从大到小排列原有数组

复制代码 代码如下:

var oldArr5=[3,1,5,7,17]; //初始数组
function mySort(left,right){
if(leftreturn 1;}//如果左边元素小于右边元素则交换两数
else{
return -1;}//如果左边元素大于等于右边元素不做交换
}

当然上面的方法可以简化为funaction mySort(left,right){ return right-left;}
复制代码 代码如下:

//按照偶数在前奇数在后排序
var oldArr6=[3,6,7,18];//初始数组
function mySort2(left,right){
if(left%2==0)return -1;//如果左边元素为偶数则不交换
if(right%2==0)return 1; //如果右边元素为偶数则交换
return 0; //不交换
}

最后的slice不多讲,只是用来截取原数组中的部分元素,返回一个新的数组,原数组不会改变,其操作方式跟string的slice类似
复制代码 代码如下:

var oldArr7=[1,2,3,4];
oldArr7.slice(0)–>[1,2,3,4]
oldArr7.slice(0,2)–>[1,2]
oldArr7.slice(0,0)–>[]
oldArr7.slice(0,-1)–>[1,2,3]
oldArr7.slice(-3,-1)–>[2,3]
oldArr4.slice(-1,-3)–[]
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk meletakkan rentetan ke dalam tatasusunan dalam PHP dan dibahagikan dengan baris baharu Bagaimana untuk meletakkan rentetan ke dalam tatasusunan dalam PHP dan dibahagikan dengan baris baharu Aug 28, 2023 pm 10:57 PM

Apakah PHP? PHP adalah singkatan kepada Hypertext Preprocessor dan merupakan bahasa skrip sebelah pelayan yang popular digunakan untuk pembangunan web. Ia direka untuk mencipta laman web yang dinamik dan interaktif. PHP dibenamkan dalam kod HTML dan dilaksanakan pada pelayan, menghasilkan output HTML yang dihantar ke pelayar klien. Dengan sintaksnya yang mudah dipelajari, PHP membolehkan pembangun membina tapak web dinamik, memproses data borang, berinteraksi dengan pangkalan data dan melaksanakan pelbagai tugasan bahagian pelayan. Ia mempunyai ekosistem perpustakaan dan rangka kerja yang luas yang meningkatkan fungsinya dan membolehkan pembangun mencipta aplikasi web yang berkuasa dan berskala. PHP disokong secara meluas oleh penyedia pengehosan, menjadikannya pilihan utama untuk projek pembangunan web. Bagaimana untuk meletakkan rentetan ke dalam tatasusunan dan dipecah oleh baris baharu dalam PHP

Amalan Terbaik untuk Operasi Tatasusunan dengan PHP Amalan Terbaik untuk Operasi Tatasusunan dengan PHP Jun 06, 2023 am 10:30 AM

PHP ialah bahasa skrip bahagian pelayan yang digunakan secara meluas yang boleh melaksanakan operasi tatasusunan dalam pelbagai cara. Artikel ini akan memperkenalkan amalan terbaik kami semasa menulis kod PHP untuk membantu anda membuat kod yang lebih cekap, cantik dan boleh dibaca. 1. Gunakan fungsi tatasusunan dan bukannya gelung manual Adalah lebih baik untuk menggunakan fungsi tatasusunan PHP daripada menggelung tatasusunan secara manual untuk memindahkan, memanipulasi atau mengubah suai data. Fungsi tatasusunan PHP dilaksanakan dengan lebih pantas dan mempunyai kebolehbacaan dan kebolehselenggaraan yang lebih baik. Berikut adalah beberapa fungsi tatasusunan PHP yang biasa digunakan: array_push(

Operasi gabungan tatasusunan dalam PHP8.0: array_merge Operasi gabungan tatasusunan dalam PHP8.0: array_merge May 14, 2023 am 08:52 AM

Dalam versi PHP8.0, operasi penggabungan tatasusunan telah dipertingkatkan. Peningkatan ini terutamanya menyasarkan operasi penggabungan jenis data tatasusunan. Dalam versi sebelumnya, operasi penggabungan tatasusunan yang disediakan oleh PHP telah dilaksanakan menggunakan simbol "+". Walau bagaimanapun, terdapat beberapa masalah dengan pendekatan ini. Jika dua tatasusunan mengandungi kunci yang sama, nilai kunci dalam tatasusunan kedua akan menimpa nilai kunci dalam tatasusunan pertama Jika anda perlu menggabungkan dua tatasusunan bersama-sama, anda perlu menggunakan fungsi array_merge() dengan mahir. . Sekarang, dalam PHP

Operasi berbahaya pada tatasusunan dalam PHP8.0: array_splice() Operasi berbahaya pada tatasusunan dalam PHP8.0: array_splice() May 14, 2023 am 08:24 AM

Operasi berbahaya dalam tatasusunan dalam PHP8.0: array_splice() Dalam pengaturcaraan PHP, tatasusunan ialah struktur data yang sangat biasa digunakan yang membolehkan kami menyimpan berbilang nilai dalam satu pembolehubah. Fungsi array_splice() ialah kaedah untuk memproses tatasusunan, yang boleh memadam atau menggantikan elemen dalam tatasusunan. Walau bagaimanapun, dalam PHP8.0, fungsi array_splice() mempunyai beberapa operasi berbahaya, yang jika digunakan secara tidak betul akan menyebabkan beberapa masalah serius. Artikel ini akan memperkenalkan anda secara terperinci

Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan Gunakan fungsi tersuai PHP untuk memanjangkan kefungsian persilangan tatasusunan dan kesatuan May 01, 2024 am 10:45 AM

Persimpangan tatasusunan dan fungsi kesatuan boleh dilanjutkan menggunakan fungsi tersuai PHP, fungsi persimpangan tersuai membenarkan mencari persimpangan mengikut kunci atau nilai, dan fungsi kesatuan tersuai mencari kesatuan mengikut kunci atau nilai. Ini memberi anda fleksibiliti untuk memanipulasi tatasusunan berdasarkan keperluan khusus anda.

Senarai lengkap operasi tatasusunan PHP: array_diff() Senarai lengkap operasi tatasusunan PHP: array_diff() Jun 20, 2023 pm 03:57 PM

Dalam PHP, tatasusunan ialah struktur data yang sangat biasa dan berguna. PHP menyediakan banyak fungsi dan kaedah yang berbeza untuk memanipulasi dan memproses tatasusunan ini. Satu fungsi yang sangat berguna ialah array_diff(). Artikel ini membincangkan fungsi ini secara terperinci. Penggunaan asas fungsi array_diff() adalah sangat mudah. Fungsi ini menerima dua atau lebih tatasusunan sebagai argumen dan mengembalikan tatasusunan baharu yang mengandungi elemen yang terdapat dalam tatasusunan pertama tetapi tidak dalam tatasusunan lain. Berikut ialah contoh: $array1=

Penggunaan protokol IMAP dan POP dalam PHP Penggunaan protokol IMAP dan POP dalam PHP Jun 23, 2023 am 11:51 AM

Dengan populariti Internet dan e-mel, orang semakin bergantung pada komunikasi e-mel. PHP, sebagai bahasa pengaturcaraan skrip yang popular, juga menyediakan sokongan yang kuat untuk operasi e-mel. Antaranya, protokol IMAP dan POP ialah dua protokol yang biasa digunakan untuk operasi e-mel dalam PHP. Mari perkenalkan aplikasi mereka dalam PHP secara terperinci. 1. Protokol IMAP Protokol IMAP (Internet Message Access Protocol) diwujudkan antara klien e-mel dan pelayan e-mel.

Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dan penjelasan terperinci tentang penyelesaian optimum Pertukaran nilai kunci tatasusunan PHP: perbandingan prestasi dan penjelasan terperinci tentang penyelesaian optimum May 04, 2024 pm 01:51 PM

Penyelesaian terbaik untuk pertukaran nilai kunci tatasusunan PHP: gunakan fungsi array_flip() terbina dalam, kerumitan masa ialah O(n). Untuk tatasusunan yang lebih besar, kelebihan prestasi array_flip() adalah lebih jelas. Kes praktikal: Anda boleh menggunakan array_flip() untuk menukar tatasusunan nama produk dalam troli beli-belah kepada tatasusunan kuantiti produk.

See all articles