日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

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

HTML

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

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

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

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

Last Out

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

如果我們把數組理解為棧堆結構的話,那么

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

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

數據 [1,2,3,4,5,6] 就是堆 ;


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

數組:

for-in(結合數組或對象);

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

下標(索引)的概念;

創建數組

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

var arr2= new Array('楊懷智',100,'教師','遼寧');//使用構造函數創建;

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


靜態賦值

arr[0] = 5;

arr[1] = 12;

arr[2] = 4;

動態賦值

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

arr[i] = Math.random();

}

數組對象自帶的屬性:length代表數組有多少數據項;

遍歷訪問數組 普通for循環和 forEach循環

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

})

push/pop、unshift/shift方法

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

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

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

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


隊列結構:

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

倒序reverse方法;

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

var arr=[1,2,3]

arr.reverse();

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

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

冒泡排序算法:

?

<!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>復制代碼

選擇排序算法:

?

<!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++) { //趟數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>復制代碼

案例:去重

<!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>復制代碼

隨機點名程序:

<!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>復制代碼


總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。