ECMAScript之陣列篇

2021-08-08 17:49:10 字數 2867 閱讀 2610

ecmascript包括語法,型別,語句,關鍵字,保留字,操作符,物件。

建立陣列:

建立沒有內容的陣列:

var arr = new array();//建立空陣列

var arr = new array(2);//建立乙個空間為2的陣列

var arr = ; //建立空陣列

建立有內容的陣列:

var arr = new array(2,3);

var arr = new array("123");

var arr = [1,2,3];

陣列的讀與寫:

arr[1]與arr["1"]一樣

var i='str';

arr[i]與arr['str']與arr['s'+'t'+'r']一樣

arr[-1.2]把-1.2轉為字串,建立名為『1.2』的屬性

arr["1000"]是索引下標1000的元素

稀疏陣列:

從0開始不連續索引的陣列。

var arr = new array(5);此時只是宣告了陣列的長度, 陣列的索引還沒有建立

var arr = [,,,]類似建立了長度為3的陣列,但是陣列的索引還沒有建立

0 in arr ;//false

console.log(arr)//不同的瀏覽器有不同的輸出結果,chrome輸出,firefox輸出

[undefined,undefined,undefined],ie輸出[,,,]

陣列長度:

陣列的長度可以操縱陣列內擁有的元素

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

arr.length=2;//刪除了陣列3,4元素

arr.length=0;//重置陣列

陣列的方法:

join('分隔符');如果分隔符是空或者undefined則使用逗號分隔,陣列元素之間用分隔符隔開組成

乙個字串,並返回字串

reverse()倒序,在原來的陣列上倒序

sort(function)對陣列元素排序,並返回排序後的陣列,也是在原來的陣列上排序。當沒有引數

時,按字母順序排序。傳入的函式引數可以規定排序規則,函式包括兩個引數,第乙個引數大於第

二個引數時,返回true

concat(array1,array2,array3....)建立並返回乙個新陣列。先建立當前陣列的乙個副本,然後如果

引數是陣列,則簡單的新增陣列的每一項到副本的末尾,如果引數不是陣列,則直接新增到副本的

末尾。該方法不改變原陣列。

slice(start,end);獲取陣列的一部分。引數是原陣列的的開始和結束位置,並返回子陣列。該方法

不改變原陣列。不包含end位置的元素。start+length要小於end+length,否則返回乙個空陣列,

引數可以是負數。

splice(deleteindex,number,insert...);該陣列有三個引數,第乙個是刪除開始的下標,number是

需要刪除的元素個數,insert是需要在deleteindex的位置開始插入的元素,第二個引數之後可以有

任意多個引數,都是要插入的元素。刪除的元素從delerteindex開始計數。方法返回的是被刪除的

元素組成的陣列。該方法會改變原來的陣列。

push(arg1,arg2,...)向陣列的尾部新增元素,並返回陣列新的長度。

pop()刪除尾部的最後乙個元素,並返回刪除的元素

shift()刪除陣列的頭部的第乙個元素,並將刪除的元素返回。

unshift(arg1,arg2,arg3....)向陣列的頭部增加乙個或多個元素,並返回陣列的長度。如果有多個參

數,引數在陣列的順序與在引數列表的順序一樣。

tostring()將陣列的每個元素轉化為字串(可以呼叫元素的tostring方法),並用逗號隔開每個

分隔字串列表。

tolocalstring()是tostring()的本地化版本。

foreach(function(x,index,arr));遍歷陣列,x為遍歷的元素,index為元素的下標,arr為陣列本

身。該方法只是遍歷運算元組,不會有返回值。

map(function(item,index,arr))遍歷陣列,並返回乙個新的陣列。

filter(function(item,index,arr))過濾元素,返回乙個陣列。

every(function(item,index,arr))返回值是true或false,函式內只要乙個返回false,則返回false.

some(function(item,index,arr))函式內只要乙個是返回true的,則返回true.

reduce(function(result,item),inite)inite是初始值,result是每次函式呼叫返回的結果,開始的時

候result的值是inite的值。最後方法返回result.

reduceright()與reduce的使用方法一樣,不同的是reduceright是從右到左遍歷

indexof(item,pos)搜尋陣列某乙個值得下標,如果不存在,則返回-1,否則返回元素的下標。

item是需要搜尋的值,第二個引數是開始搜尋的位置。

lastindexof()與indexof相反,從尾部開始搜尋

判斷陣列型別:

array.isarray();

instanceof array

object.prototype.tostring.call()=== '[object array]'

陣列遍歷:

for迴圈

continue跳出本次迴圈。

多維陣列:

var row = new array(10);

for(var i=0;i

row[i]= new array[10]; }

ECMAScript陣列常用

var arr 22,33,44,55,66,77,88,99 every 全部結果為true 則返回true var e arr.every function m console.log arr.every e every 只有有乙個方法返回true 則返回true var s arr.some ...

ECMAScript語句之with 語句

ecmascript with 語句,用於設定 在特定物件中的作用域 with執行緩慢,設定了屬性值時更加緩慢,最好避免使用with語句 一 with 語句用於字串 配合touppercase 方法 var a cglweb前端 with a 二 with 語句可以方便地用來引用某個特定物件中已有的...

ECMAScript 陣列的遍歷方式

二 陣列的遍歷方式 es6 三 相關注意點 一 陣列的遍歷方式 es5 1.for迴圈let arr 1 2,3 for let i 0 i arr.length i 推薦寫法 for let i 0,count arr.length i count i 2.foreach 沒有返回值,只是針對每個...