javascript中陣列方法 未完待續

2021-07-11 03:34:39 字數 4196 閱讀 6770

一、sort()方法:將陣列中的元素排序並返回排序後的陣列。

1、當不帶引數呼叫sort()時,陣列元素以字母表順序排序

(如有必要將臨時轉化為字串進行比較)

*/a.sort();

var s=a.join(", ");

//如果陣列包含undefined元素,它們會被排到陣列的尾部

/*2、為了按照其他方式而非字母表順序進行 陣列排序,必須給sort()方法

傳遞乙個比較函式。如:

*/var a=[33,4,1111,222];

a.sort(function(a,b));

console.log(a);// [4, 33, 222, 1111]

/*二、concat()方法 建立並返回乙個新陣列,它的元素包括呼叫concat()的原始陣列的元素和concat()的每個引數。如果這些引數中的任何

乙個自身是陣列,則連線的是陣列元素,而非陣列本身。但要注意,

concat()不會遞迴扁平化陣列的陣列。concat()也不會修改呼叫的陣列。例如:

*/var a=[1,2,3];

/*a.concat(4,5); //返回[1,2,3,4,5]

a.concat([4,5]); //返回[1,2,3,4,5]

a.concat([4,5],[6,7]); //返回[1,2,3,4,5,6,7]

a.concat(4,[5,[6,7]]); //返回[1,2,3,4,5,[6,7]]*/

var b=a.concat(5,3); //如有相同的值,也會加進去

/*三、slice()

array.slice()方法返回指定陣列的乙個片段或子陣列。

它的兩個引數分別指定了片段的開始和結束的位置。返回的陣列包含第乙個引數指定的位置和所有到但不包含第二個引數指定的位置之間的所有陣列元素。

如果只指定乙個引數,返回的陣列將包含從開始位置到陣列結尾的所有元素。

引數中出現負數,它表示相對於陣列中最後乙個元素的位置。(引數-1指定了最後乙個元素,二-3指定了倒數第三個元素)

slice()不會修改呼叫的陣列。例如:

*/var a=[1,2,3,4,5];

a.slice(0,3);//[1,2,3]

a.slice(3);//[4,5]

a.slice(1,-1); //[2,3,4]

a.slice(-3,-2);//[3]

/*四、splice()

splice()方法是在陣列中插入或刪除元素的通用方法。

splice()方法會修改呼叫的陣列。splice()能夠從陣列中刪除元素、插入元素到陣列中或者同時完成這兩種操作。

在插入或刪除點之後的陣列元素會根據需要增加或減小它們的索引值,因此陣列的其他部分仍然保持連續。

splice()的第乙個引數指定了插入和(或)刪除的起始位置。

第二個引數指定了應該從陣列中刪除的元素的個數。如果省略第二個引數,從起始點開始到陣列結尾的所有元素都將被刪除。

splice()返回乙個由刪除元素組成的陣列,或者如果沒有刪除元素就返回乙個空陣列。例如:

*/var a=[1,2,3,4,5,6,7,8];

a.splice(4); //返回刪除的元素,即:[5,6,7,8];a是[1,2,3,4]

a.splice(1,2);//返回[2,3];a是[1,4]

a.splice(1,1); //返回[4];a是[1]

//splice()的前兩個引數指定了需要刪除的陣列元素 。緊隨其後的任意個數的引數指定了需要插入到陣列中的元素,從第乙個引數指定的位置開始插入。例如:

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

a.splice(2,0,"a","b");//[1,2,"a","b",3,4,5]

a.splice(2,2,[1,2],3); //返回[1,2,[1,2],3,3,4,5]

//注意,區別於concat(),splice()會插入陣列本身而非陣列的元素。

/*五、unshift()和shift()

unshift()在陣列的頭部新增乙個或多個元素,並將已存在的元素移動到更高索引的位置來獲得足夠的空間,最後返回陣列新的長度。

shift()刪除陣列的第乙個元素並將其返回,然後把所有隨後的元素下移乙個位置來填補陣列頭部的空缺。

*//*

六、push()和pop()

push()方法在陣列的尾部天機乙個或多個元素,並返回陣列新的長度。

pop()方法則相反:它刪除陣列的最後乙個元素,減小陣列的長度並返回它刪除的值。注意,兩個方法都修改並替換原始陣列二非生成乙個修改版的新陣列。

*//*

七、tostring()和tolocalestring()

針對陣列,該方法將其每個元素轉化為字串(如有必要將呼叫元素的tostring()方法)並且輸出用逗號分隔的字串列表。注意,輸出不包括方括號或其他任何形式的包裹陣列值的分隔符。

*/[1,2,3].tostring() //生成'1,2,3'

["a","b","c"].tostring()//生成'a,b,c'

[1,[2,'c']].tostring() //生成'1,2,c'

//這裡與不是用任何引數呼叫join()方法返回的字串是一樣的。

八、foreach()

foreach()方法從頭至尾遍歷陣列,為每個元素呼叫指定的函式。foreach()使用三個引數呼叫該函式:陣列元素、元素的索引和陣列本身。

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

//計算陣列元素的和值

var sum=0;

data.foreach(function(value));

sum //15

//每個陣列元素的值自加1

data.foreach(function(v,i,a)

);九、map()

將呼叫的陣列的每個元素傳遞給指定的函式,並返回乙個陣列,它包含該函式的返回值。

var a=[1,2,3];

var b=a.map(function(x)); //b是[1,4,9]

map返回的是新陣列,它不修改呼叫的陣列。 如果是稀疏陣列,則返回相同方式的稀疏陣列。

十、filter()

filter()方法返回的陣列元素是呼叫的陣列的乙個子集。傳遞的函式是用來邏輯判定的:該函式返回true或false;如果返回值為true或

能轉化為true的值,那麼傳遞給判定函式的元素就是這個子集的成員,它將被新增到乙個作為返回值的陣列中。

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

smallvalues=a.filter(function(x));//[2,1]

filter()會跳過稀疏陣列中缺少的元素,它的返回陣列總是稠密的。

十一、every()和some()

every()和some()方法是陣列的邏輯判定:它們對陣列元素應用指定的函式進行判定,返回true或false;

every():當且僅當針對陣列中的所有元素呼叫判定函式都返回true,它才返回true:

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

a.every(function(x));// true;a中的所有元素都小於10

a.every(function(x)); // false;不是所有的值都是偶數

some(): 當陣列中至少有乙個元素呼叫判定函式返回true,它就返回true;當且僅當數值中的所有元素呼叫判定函式都返回false,

它才返回false:

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

a.some(function(x)); //true; a含有偶數

一旦every()和some()確認該返回什麼值它們就會立即停止遍歷陣列元素。

十二、reduce()和reduceright()

reduce()和reduceright()方法使用指定的函式將陣列元素進行合併,生成單個值。這在函式式程式設計中是常見的操作,也可以稱為"注入"和"摺疊"。

reduce()需要兩個引數。第乙個是執行化簡操作的函式。

化簡函式的任務就是用某種方法把連個值組合或化簡為乙個值,並返回化簡後的值。

第二個引數(可選)是乙個傳遞給函式的初始值。如果沒有指定初始值,預設將陣列的第乙個元素作為其初始值。

在空陣列上,不帶初始值引數呼叫reduce()將導致型別錯誤。

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

var sum=a.reduce(function(x,y),0);

javaScript 陣列方法

1 array.concat 合併陣列 var a a b c var b x y z var c a.concat b,true c a b c x y z true 2 array.join 把陣列轉換成字串,預設是join var a a b c a.push d var c a.join c...

JavaScript陣列方法大全

push 向陣列末尾新增乙個或多個元素 unshift 向陣列的開頭新增乙個或多個元素 pop 刪除陣列最後乙個元素 shift 刪除陣列第乙個元素 sort 給陣列排序 reverse 顛倒陣列項在陣列中的位置 concat 合併陣列 slice 指定的位置開始刪除指定的陣列項,並且將刪除的陣列項...

JavaScript陣列方法總結

陣列也是物件陣列型別,也是由鍵值對組成。1.push 作用 向陣列末尾追加新的內容 引數 追加的內容 可以是乙個,可以是多個 返回值 新增後陣列的長度 原有陣列改變 2.pop 作用 刪除陣列最後一項 引數 無 返回 刪除的那一項內容 原有陣列改變 3.shift 作用 刪除陣列第一項 引數 無 返...