JavaScript 中实现等分数组
JavaScript栏目介绍如何实现等分数组
相关免费学习推荐:javascript(视频)
在本教程中,我们来学习一下如何使用Array.splice()
方法将数组等分,还会讲一下,Array.splice()
和 Array.slice()
它们之间的不同之处。
1. 将数组分为两个相等的部分
我们可以分两步将数组分成两半:
使用
length/2
和Math.ceil()
方法找到数组的中间索引使用中间索引和
Array.splice()
方法获得数组等分的部分
Math.ceil() 函数返回大于或等于一个给定数字的最小整数。
const list = [1, 2, 3, 4, 5, 6]; const middleIndex = Math.ceil(list.length / 2); const firstHalf = list.splice(0, middleIndex); const secondHalf = list.splice(-middleIndex); console.log(firstHalf); // [1, 2, 3] console.log(secondHalf); // [4, 5, 6] console.log(list); // []
Array.splice()
方法通过删除,替换或添加元素来更改数组的内容。 而Array.slice()
方法会先对数组一份拷贝,在操作。
-
list.splice(0, middleIndex)
从数组的0
索引处删除前3
个元素,并将其返回。 -
splice(-middleIndex)
从数组中删除最后3
个元素并返回它。
在这两个操作结束时,由于我们已经从数组中删除了所有元素,所以原始数组是空的。
另请注意,在上述情况下,元素数为偶数,如果元素数为奇数,则前一半将有一个额外的元素。
const list = [1, 2, 3, 4, 5]; const middleIndex = Math.ceil(list.length / 2); list.splice(0, middleIndex); // returns [1, 2, 3] list.splice(-middleIndex); // returns [4, 5]
2.Array.slice 和 Array.splice
有时我们并不希望改变原始数组,这个可以配合 Array.slice() 来解决这个问题:
const list = [1, 2, 3, 4, 5, 6]; const middleIndex = Math.ceil(list.length / 2); const firstHalf = list.slice().splice(0, middleIndex); const secondHalf = list.slice().splice(-middleIndex); console.log(firstHalf); // [1, 2, 3] console.log(secondHalf); // [4, 5, 6] console.log(list); // [1, 2, 3, 4, 5, 6];
我们看到原始数组保持不变,因为在使用Array.slice()
删除元素之前,我们使用Array.slice()
复制了原始数组。
3.将数组分成三等分
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; const threePartIndex = Math.ceil(list.length / 3); const thirdPart = list.splice(-threePartIndex); const secondPart = list.splice(-threePartIndex); const firstPart = list; console.log(firstPart); // [1, 2, 3] console.log(secondPart); // [4, 5, 6] console.log(thirdPart); // [7, 8, 9]
简单解释一下上面做了啥:
首先使用
st.splice(-threePartIndex)
提取了ThirdPart,它删除了最后3个元素[7、8、9]
,此时list
仅包含前6个元素[1、2、3、4、5、6]
。接着,使用
list.splice(-threePartIndex)
提取了第二部分,它从剩余list = [1、2、3、4、5、6]
(即[4、5、6])中删除了最后3个元素,list仅包含前三个元素[1、2、3]
,即firstPart
。
4. Array.splice() 更多用法
现在,我们来看一看 Array.splice() 更多用法,这里因为我不想改变原数组,所以使用了 Array.slice(),如果智米们想改变原数组可以进行删除它。
const list = [1, 2, 3, 4, 5, 6, 7, 8, 9];
获取数组的第一个元素
list.slice().splice(0, 1) // [1]
获取数组的前5个元素
list.slice().splice(0, 5) // [1, 2, 3, 4, 5]
获取数组前5个元素之后的所有元素
list.slice().splice(5) // 6, 7, 8, 9]
获取数组的最后一个元素
list.slice().splice(-1) // [9]
获取数组的最后三个元素
list.slice().splice(-3) // [7, 8, 9]
代码部署后可能存在的BUG没法实时知道,事后为了解决这些BUG,花了大量的时间进行log 调试,这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。
Atas ialah kandungan terperinci JavaScript 中实现等分数组. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian Pengenalan: Dengan perkembangan teknologi yang berterusan, teknologi pengecaman pertuturan telah menjadi bahagian penting dalam bidang kecerdasan buatan. Sistem pengecaman pertuturan dalam talian berdasarkan WebSocket dan JavaScript mempunyai ciri kependaman rendah, masa nyata dan platform merentas, dan telah menjadi penyelesaian yang digunakan secara meluas. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem pengecaman pertuturan dalam talian.

WebSocket dan JavaScript: Teknologi utama untuk merealisasikan sistem pemantauan masa nyata Pengenalan: Dengan perkembangan pesat teknologi Internet, sistem pemantauan masa nyata telah digunakan secara meluas dalam pelbagai bidang. Salah satu teknologi utama untuk mencapai pemantauan masa nyata ialah gabungan WebSocket dan JavaScript. Artikel ini akan memperkenalkan aplikasi WebSocket dan JavaScript dalam sistem pemantauan masa nyata, memberikan contoh kod dan menerangkan prinsip pelaksanaannya secara terperinci. 1. Teknologi WebSocket

Pengenalan kepada cara menggunakan JavaScript dan WebSocket untuk melaksanakan sistem pesanan dalam talian masa nyata: Dengan populariti Internet dan kemajuan teknologi, semakin banyak restoran telah mula menyediakan perkhidmatan pesanan dalam talian. Untuk melaksanakan sistem pesanan dalam talian masa nyata, kami boleh menggunakan teknologi JavaScript dan WebSocket. WebSocket ialah protokol komunikasi dupleks penuh berdasarkan protokol TCP, yang boleh merealisasikan komunikasi dua hala masa nyata antara pelanggan dan pelayan. Dalam sistem pesanan dalam talian masa nyata, apabila pengguna memilih hidangan dan membuat pesanan

Cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian Dalam era digital hari ini, semakin banyak perniagaan dan perkhidmatan perlu menyediakan fungsi tempahan dalam talian. Adalah penting untuk melaksanakan sistem tempahan dalam talian yang cekap dan masa nyata. Artikel ini akan memperkenalkan cara menggunakan WebSocket dan JavaScript untuk melaksanakan sistem tempahan dalam talian dan memberikan contoh kod khusus. 1. Apakah itu WebSocket? WebSocket ialah kaedah dupleks penuh pada sambungan TCP tunggal.

JavaScript dan WebSocket: Membina sistem ramalan cuaca masa nyata yang cekap Pengenalan: Hari ini, ketepatan ramalan cuaca sangat penting kepada kehidupan harian dan membuat keputusan. Apabila teknologi berkembang, kami boleh menyediakan ramalan cuaca yang lebih tepat dan boleh dipercayai dengan mendapatkan data cuaca dalam masa nyata. Dalam artikel ini, kita akan mempelajari cara menggunakan teknologi JavaScript dan WebSocket untuk membina sistem ramalan cuaca masa nyata yang cekap. Artikel ini akan menunjukkan proses pelaksanaan melalui contoh kod tertentu. Kami

Penggunaan: Dalam JavaScript, kaedah insertBefore() digunakan untuk memasukkan nod baharu dalam pepohon DOM. Kaedah ini memerlukan dua parameter: nod baharu untuk dimasukkan dan nod rujukan (iaitu nod di mana nod baharu akan dimasukkan).

Tutorial JavaScript: Bagaimana untuk mendapatkan kod status HTTP, contoh kod khusus diperlukan: Dalam pembangunan web, interaksi data dengan pelayan sering terlibat. Apabila berkomunikasi dengan pelayan, kami selalunya perlu mendapatkan kod status HTTP yang dikembalikan untuk menentukan sama ada operasi itu berjaya dan melaksanakan pemprosesan yang sepadan berdasarkan kod status yang berbeza. Artikel ini akan mengajar anda cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan menyediakan beberapa contoh kod praktikal. Menggunakan XMLHttpRequest

Pengenalan kepada kaedah mendapatkan kod status HTTP dalam JavaScript: Dalam pembangunan bahagian hadapan, kita selalunya perlu berurusan dengan interaksi dengan antara muka bahagian belakang, dan kod status HTTP adalah bahagian yang sangat penting daripadanya. Memahami dan mendapatkan kod status HTTP membantu kami mengendalikan data yang dikembalikan oleh antara muka dengan lebih baik. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk mendapatkan kod status HTTP dan memberikan contoh kod khusus. 1. Apakah kod status HTTP bermakna kod status HTTP apabila penyemak imbas memulakan permintaan kepada pelayan, perkhidmatan tersebut
