日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

好程序员web前端分享数组及排序、去重和随机点名

發(fā)布時間:2025/7/14 HTML 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 好程序员web前端分享数组及排序、去重和随机点名 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

好程序員web前端分享數(shù)組及排序、去重和隨機點名,棧堆結(jié)構(gòu):堆棧都是一種數(shù)據(jù)項按序排列的數(shù)據(jù)結(jié)構(gòu),只能在一端(稱為棧頂(top))對數(shù)據(jù)項進行插入和刪除。

棧:存放的是路徑;容量有限(在一開始被定義之后就不會改變了);先進后出(FILO)first In

Last Out

堆:路徑映射的數(shù)據(jù);容量無限(因為一直可能被改變);列隊優(yōu)先,先進先出(FIFO)first In Last Out

如果我們把數(shù)組理解為棧堆結(jié)構(gòu)的話,那么

var arr = [1,2,3,4,5,6 ];

那么arr就是 棧 他是一個路徑 : 找到數(shù)據(jù)的存儲層;

數(shù)據(jù) [1,2,3,4,5,6] 就是堆 ;


如果我們想要 改變堆中的數(shù)據(jù)的話,那么我們可以用push()方法向尾部添加一個數(shù)據(jù),或者用pop()方法刪除尾部數(shù)據(jù)。

數(shù)組:

for-in(結(jié)合數(shù)組或?qū)ο?#xff09;;

數(shù)組的概念,一組(一般情況下相同類型)的數(shù)據(jù);

下標(索引)的概念;

創(chuàng)建數(shù)組

var arr= new Array(10); //創(chuàng)建一個包含 10 個元素的數(shù)組;

var arr2= new Array('楊懷智',100,'教師','遼寧');//使用構(gòu)造函數(shù)創(chuàng)建;

var arr3 = [1,2,3,4,5];


靜態(tài)賦值

arr[0] = 5;

arr[1] = 12;

arr[2] = 4;

動態(tài)賦值

for(var i=0; i<5; i++){

arr[i] = Math.random();

}

數(shù)組對象自帶的屬性:length代表數(shù)組有多少數(shù)據(jù)項;

遍歷訪問數(shù)組 普通for循環(huán)和 forEach循環(huán)

arr.forEach(function(element,index,Arr){

})

push/pop、unshift/shift方法

arr.push('BJ'); //數(shù)組末尾添加一個元素

arr.unshift('TJ'); //數(shù)組開頭添加一個元素

var str = arr.pop(); //移除末尾一個元素,并返回該元素

var str = arr.shift(); //移除開頭一個元素,并返回該元素


隊列結(jié)構(gòu):

練習:找出所有1-100之間7的倍數(shù)和包含7的數(shù)字

倒序reverse方法;

arr.reverse()方法不會創(chuàng)建新的數(shù)組,而是將原有數(shù)組順序進行了改變;

var arr=[1,2,3]

arr.reverse();

console.log(arr)//3,2,1

從小到大排序sort方法 (數(shù)字的排序)

冒泡排序算法:

?

<!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>Document</title><script>var arr = [2, 333, 1, 4, 6, 5, 7, 8];for (var i = 0; i < arr.length - 1; i++) {for (var j = 0; j < arr.length - i; j++) {var ls;if (arr[j] > arr[j + 1]) {ls = arr[j];arr[j] = arr[j + 1]arr[j + 1] = ls}}}console.log(arr)</script></head><body></body> </html>復(fù)制代碼

選擇排序算法:

?

<!doctype html> <html lang="en"><head><meta charset="UTF-8"><title>Document</title><script>var arr = [3, 4, 1, 5, 2]for (var i = 0; i < arr.length; i++) { //趟數(shù)var min = arr[i];var index = i;for (var j = i; j < arr.length; j++) {if (min > arr[j]) {min = arr[j];index = j;}}arr[index] = arr[i];arr[i] = min;}document.write(arr);</script></head><body></body> </html>復(fù)制代碼

案例:去重

<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><script>var arr = [11, 2, 33, 4, 2, 11, 3, 44, 33, 2]arr.sort();var arr2 = [arr[0]]for (var i = 0; i < arr.length; i++) {if (arr[i] != arr2[arr2.length - 1]) {arr2.push(arr[i]);}}alert(arr2)</script></head><body></body> </html>復(fù)制代碼

隨機點名程序:

<!DOCTYPE html> <html lang="en"><head><meta charset="utf-8"><script>document.onclick = function() {var aName = ['楊懷智1', '楊懷智3', '楊懷智4']var rad = Math.round(Math.random() * 2);document.write(aName[rad])}</script></head><body>隨機點名</body> </html>復(fù)制代碼


總結(jié)

以上是生活随笔為你收集整理的好程序员web前端分享数组及排序、去重和随机点名的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。