JS數組

1、構建數組
無參構造函數,創造空數組
var al=new Array();
二、利用字面量創造數組函數
1、使用
var a=[];
length是數組的默認屬性,數組是一種對象。一個元素是不是對象 ,是看喲沒有屬性和屬性值
定義數組的時候,最最后一項是;,不是逗號模式分號
數組的索引和長度
遍歷數組,數組是從0開始排列,
最后一位往前遍歷,
arr.length


數組遍歷,從前往后,從后往前

數組的頭部和尾部的增加和刪除
一、尾部的添加
[2,3,4,5]
arr[4]=100;
arr[arr.length]=100;
二者是一樣的
直接按回車輸出結果為arr[2,3,4,5,100]
修改也是類似添加,直接改即可
尾部的刪除


數組的刪除

delete是刪除一個對象的屬性,能被delete刪除的即是對象
全局變量 var a=1;
b=2;
二者定義的都是全局變量,但是var不是對象,用delete刪除是flase.
Paste_Image.png

arr.push(10);
輸出結果為數組長度,且為最后一位加上10的長度
arr.pop();
輸出的最后一位,并且此數字已經從數組中去掉,數組長度減少一位
堆棧后進先出,先進后出
三、頭部的添加和刪除
arr.shift()
輸出的第一位,并且此數字已經從數組中去掉,數組長度減少一位
Paste_Image.png

unshift是向后一位,前面一位空出來,需要內容,即為在第一位增加元素
arr.unshift(10)

Paste_Image.png

三、splice可用于添加刪除任何位置的元素
從第幾位到第幾位拿出來,余下的就是剩余的,自動生成。

任意位置數組的刪除

數組的插入和替換arr.splice(1,3)刪除數組第一個第二個第三個,剩余的自動生成
pop(arr)
作為一個函數,直接操作參數,去掉最后一位,輸出結果仍為減掉的那個元素
需要插入的時候寫個0,arr.splice(5,0,val),數組的第五個元前面素插入val參數
pop/shift/unshift/splice的得到的結果實際上是數組,在代碼尾部加個[0]即可得到變化后數組得到第一位
一個數組,拼接成字符串

Paste_Image.png

一個數組,一個空數組,push第一行字符串,遍歷數組,再push得到字符串
slice是將數組中的一部分拿出來,其他的不發生變化.想把數組的某一段拿出來用slice
原數組不改變
concat拼接數組
reverse把一個數組逆序排列
arr.reverse()即可,翻轉字符串,先將字符串翻轉成數組,再逆序,再拼接
sort數組的排序(數組的大小不是按照數值 的而大小排序,而是按照字符串排序)
arr.sort()

五、字符串的比較
字符串的比較是根據asci碼,看首先先看第一位。第一位如果不一樣,第一位大的,字符串就大;如果第一位相同,比較第二位,同理類推
var arr=[1,100,2,3,256];
arr.sort(function(a,b)){
console.log(a,b);
conbsole.log(arr);
return a-b;});
數組從小到大排列。、
數組通過下標訪問,數組拼接,用join
var str=“hello”
str[0]
"h"
查找asci碼

Paste_Image.png

數組常見操作是數組的拼接,只需要+即可
substr(第幾位開始,長度)
substring(第幾位開始,第幾位結束)


Paste_Image.png

字符串查找search可以查找下標,找不到為-1.如果>-1是存在的額,可以找到的,第一位是0 ,是大于-1的
str.replace( , )用一個替換另一個
str.split將數組分割
如果是str.split(' ‘)中間是個空格則將其分割,一個單詞一個單詞排列
如果是str.split('‘)空字符串進行分割,則是將字符串進行字符分割

Paste_Image.png

如果需要將字符串里的單詞進行排序

Paste_Image.png
Paste_Image.png

ES5數組擴展
1、判斷一個數組是不是數組
Array.isArray
r如果一個元素,typeof arr是object,然后再arr instanceof Array true即可判斷該元素是數組。

Paste_Image.png

中間參數忘記傳遞
every需要每個元素都滿足才為true
some只要有一個元素滿足條件,即為true
forEach
map對于里面的每一項去操作它,與forEach類似,遍歷數組,map操作直接針對本身,forEach是針對元素,還需要顯示修改,才能展現。


Paste_Image.png

filter從一堆元素中找出一個
reduce逐項求和,依次遞加

Paste_Image.png

math對象的屬性
math.abs返回絕對值
math.max最大值
math.min最小值
取最大值最小值也可以選用遍歷數組的方式,再賦值


Paste_Image.png

math.random該方法返回0-1之間的隨機數

Paste_Image.png

取值10-20之間的數字是
10+math.floor(math.random()*10)
0,1,2,3
隨機數是0.00001-2.99999
0.0001-0.49999==0
0.5-1.49999==1
0和1的概率是不相等的

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容