好程序员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方法 (數字的排序)
冒泡排序算法:
?
選擇排序算法:
?
案例:去重
隨機點名程序:
總結
以上是生活随笔為你收集整理的好程序员web前端分享数组及排序、去重和随机点名的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何构建优雅的ViewControlle
- 下一篇: Go:json包的坑