陣列首尾操作的方法

2022-03-06 15:12:59 字數 1512 閱讀 2372

pop(): 刪除陣列最後一項。不需用書寫引數,返回值刪除項的值。

push():在陣列最後新增資料。引數:是要新增的資料,多項用逗號隔開。返回值陣列的長度。

shift():刪除陣列第一項。不需用書寫引數,返回值刪除項的值。

unshift():陣列開頭新增資料。引數:是要新增的資料,多項用逗號隔開。返回值陣列的長度。

1 // push()在陣列最後新增

2 console.log(arr.push(10));

3 console.log(arr);

1 // shift()刪除陣列第一項。

2 console.log(arr.shift());

3 console.log(arr);

1 // unshift()在陣列開頭新增。

2 console.log(arr.unshift(0));

3 console.log(arr);

案例:[「春」,」夏」,「秋」,

「冬」]

將陣列最後一項移動到開頭

1 var arr1 = ["春

","夏

","秋

","冬

"];2 arr1.unshift(arr1.pop());

3 console.log(arr1);

l 陣列的合併和拆分

concat():用於兩個或者多個陣列的合併。引數是要合併的陣列。返回值是合併後的新陣列。不會改變原陣列。

1 var arr1 = [1,2,3,4,5,6];

2 var arr2 = [7,8,9];

3 var arrnew = arr1.concat(arr2);

4 console.log(arrnew);

5 console.log(arr1);

concat()引數很靈活,可以是陣列字面量也是可以陣列變數

,還可以是一些散的值。

1 console.log(arr1.concat([1,2],"h","l"));

拆分:slice(start,end):用於擷取陣列中某一片段。

start,end

表示陣列的索引值。

start表示擷取陣列的開始項的索引值(包括開始值)到

end索引值(不包括

end)。

返回值是擷取的陣列片段。不會改變原陣列。

1 var arr3 = [2,3,4,5,6,7,8];

2 var arr4 = arr3.slice(2,5);

3 console.log(arr4);

4 console.log(arr3);

start和

end還可以書寫負數。表示倒數第幾。倒數是從

-1開始。仍是包括

start

不包括end

1 var arr5 = arr3.slice(-5,-2);

還可以只書寫乙個start表示從

start

開始擷取到陣列最後一項。

1 var arr6 = arr3.slice(2);

首尾相連陣列的最大子陣列和

1.求0 n 1的最大子陣列和 m 1 2.求跨越 n 1和0的最大子陣列和,分別求從0開始的最大和m 21,從n 1開始的最大和m 22,分別記錄得到最大和的位置pi,pj,這裡分兩種情況考慮 a.pib.pi pj,則求0 n 1的最小子陣列和m 3,及0 n 1的和mx m max m 1,m...

首尾相連陣列的最大子陣列和

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述 給定乙個由n個整數元素組成的陣列arr,陣列中有正數也有負數,這個陣列不是一般的陣列,其首尾是相連的。陣列中乙個或多個連續元素可以組成乙個子陣列,其中存在這樣的子陣列arr i arr n 1 arr 0 arr j 現在請你這...

陣列的連續子陣列最大和(首尾相連)

題目 求乙個迴圈陣列的連續子陣列的最大和。解法 程式設計之美 上給出一種方法 1 求 0,n 1 的最大和 2 如果跨過了n 1,則計算以n 1為尾部的最大子陣列 i,n 1 以0為開始的最大子陣列 0 j 如果i j,則m a 0 a n 1 否則,m a 0 a j a i a n 1 該方法有...