陣列的應用

2021-10-01 08:18:23 字數 3009 閱讀 6968

1.陣列與字串的互轉

(1)使用 array 物件的 join()方法把陣列轉換為多種形式的字串。join()方法包含乙個引數,用來定義合併元素的連字元,如果join()方法不提供引數,則預設以逗號連線每乙個元素。

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

a = a.join("+");

document.write("a型別 = " + typeof(a) + 「

」); 型別是 string

document.write("a的值 = " + a); a的值是 1+2+3+4+5

(2)使用split() 方法可以把字串解開為乙個陣列,該方法有兩個引數,第乙個引數是解開的分隔符,第二個引數是返回陣列的長度。

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

a = a.join("+");

var s = a.split("+");

document.write("s型別 = " + typeof(s) + 「

」); 改變後的型別為object

document.write("s的值 = " + s); 值是 1,2,3,4,5

2.陣列排順

使用 reverse() 方法可以顛倒陣列元素的順序。

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

var a = a.reverse();

document.write(a); 輸出: 5,4,3,2,1

3. 連線陣列

concat() 方法能夠把該方法中的引數追加到指定的陣列中,形成乙個新的連線陣列。

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

var b = a.concat(4,5);

document.write(b); 輸出1,2,3,4,5,4,5

如果concat() 方法中的引數包含陣列,則把陣列元素展開新增到陣列中。

** :

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

var b = a.concat([4,5],1,[2,3]);

document.write(b); 輸出 1,2,3,4,5,4,5,1,2,3

4.擷取子陣列

slice() 方法將返回陣列中指定的片段,片段就是陣列中的乙個子陣列。該方法包含兩個引數,它們指定要返回子陣列在原陣列中的起止點。其中第1個引數指定的元素是被擷取的範圍之內,而第2個引數指定的元素不被擷取。

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

var b = a.slice(2,5);

document.write(b); 輸出 3,4,5

5. reduce()和 reduceright()

這兩個方法都會實現迭代陣列的所有項,然後構建乙個最終返回的值。reduce()方法從陣列的第一項開始,逐個遍歷到最後。而 reduceright()則從陣列的最後一項開始,向前遍歷到第一項。

這兩個方法都接收兩個引數:乙個在每一項上呼叫的函式和(可選的)作為歸併基礎的初始值。

傳給 reduce()和 reduceright()的函式接收 4 個引數:前乙個值、當前值、項的索引和陣列物件。這個函式返回的任何值都會作為第乙個引數自動傳給下一項。第一次迭代發生在陣列的第二項上,因此第乙個引數是陣列的第一項,第二個引數就是陣列的第二項。

下面**用reduce()實現陣列求和,陣列一開始加了乙個初始值10。

**:var values = [1,2,3,4,5];

var sum = values.reduceright(function(prev, cur, index, array),10);

console.log(sum); //25

6.some()

some():判斷陣列中是否存在滿足條件的項,只要有一項滿足條件,就會返回true。

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

var arr2 = arr.some(function(x) );

console.log(arr2); //true

var arr3 = arr.some(function(x) );

console.log(arr3); // false

7.every()

every():判斷陣列中每一項都是否滿足條件,只有所有項都滿足條件,才會返回true。

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

var arr2 = arr.every(function(x) );

console.log(arr2); //true

var arr3 = arr.every(function(x) );

console.log(arr3); // false

8.map()

map():指「對映」,對陣列中的每一項執行給定函式,返回每次函式呼叫的結果組成的陣列。

下面**利用map方法實現陣列中每個數求平方。

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

var arr2 = arr.map(function(item));

console.log(arr2); //[1, 4, 9, 16, 25]

9.foreach()

foreach():對陣列進行遍歷迴圈,對陣列中的每一項執行給定函式。這個方法沒有返回值。引數都是function型別,預設有傳參,引數分別為:遍歷的陣列內容;第對應的陣列索引,陣列本身。

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

arr.foreach(function(x, index, a));

// 輸出為:

// 1|0|true

// 2|1|true

// 3|2|true

// 4|3|true

// 5|4|true

陣列的應用

設5 個同學修了高等數學 普通物理 程式語言並取得了成績,現計算三門課總分 平均分,每門課的總分 平均分,每個同學的總分 平均分 include int main void int physics int programming int ttscore,scoret 5 tscore 3 float...

陣列的應用

一 買一贈一 lists let total 0 商品總數 let freecount 0 贈送數量 let currentcount 0 計算當前贈送的數量 let spliceindex 1 擷取的索引值 let splicenum 0 對特殊商品的原價的數量 lists.map functio...

PHP陣列的應用

php 4.0中新新增了30個與組數有關的函式,其中一些常見的函式可以判斷乙個陣列中是否包含某個元素,對乙個陣列中的元素進行計數,新增或刪除陣列中的元素或者對陣列中的元素進行排序。如果有乙個很大的陣列,而你需要找出其中是否包含乙個特定的元素,就可以使用in array 下面的例子將顯示 not fo...