資料結構之陣列篇

2021-10-01 05:33:10 字數 2664 閱讀 1754

什麼是陣列?

array 物件用於在單個的變數中儲存多個值。

陣列物件的作用是:使用單獨的變數名來儲存一系列的值。

建立和初始化陣列

let arr = new array() //宣告並初始化乙個陣列 不推薦

let arr = // 推薦這種方式宣告陣列

array常用方法

shift:刪除陣列第乙個元素並返回

var arr = ;

arr[0] = "zhansang"

arr[1] = "lisi"

arr[2] = "wangwu"

alert(arr.shift()) // zhansang

alert(arr) // lisi,wangwu

pop:刪除陣列返回最後乙個元素

var arr = ;

arr[0] = "zhansang"

arr[1] = "lisi"

arr[2] = "wangwu"

alert(arr.pop()) // wangwu

alert(arr) //zhansang,lisi

join:用於把陣列中的所有元素放入乙個字串。元素是通過指定的分隔符進行分隔的。

var arr = ;

arr[0] = "zhansang"

arr[1] = "lisi"

arr[2] = "wangwu"

alert(arr.join()) // zhansang,lisi,wangwu

reverse :反轉陣列

let a =  [1,2,3]

alert(a.reverse()) //[3,2,1]

let a = [1,2,3]

alert(a.push(4))

isarray:判斷物件是否為陣列 返回值是true/false

function myfunction() 

此方案的問題在於 ecmascript 5 不支援老的瀏覽器。

function isarray(x)

concat:拼接乙個或多個陣列 該方法不會改變現有的陣列,而僅僅會返回被連線陣列的乙個副本

let a  = [1,2,3]

let b = [4,5]

alert(a.concat(b)) // [1,2,3,4,5]

slice:陣列的擷取 並返回選定的元素(並不會更改原陣列,只會返回乙個子陣列)

用法: arr.slice(start,end)

1. 從start開始擷取到end但是不包括end

2. 返回值為擷取出來的元素的集合

3. 使用負值從陣列的尾部選取元素。

4. 如果 end 未被規定,那麼 slice() 方法會選取從 start 到陣列結尾的所有元素。

var arr1 = [1,44,56,12,78,99,8,];

var arr2 = arr1.slice(2,4) //從index為2擷取到index為4之前不包括4

console.log(arr2); //[56,12]

console.log(arr1); //[1, 44, 56, 12, 78, 99, 8] 原陣列沒有發生改變

sort:對陣列元素的排序(作用原陣列)

注意:如果使用該方法沒有傳遞引數 那麼預設是將字母順序進行排序

var arr = ["zhansan", "leili", "sili", "wangwu","songliu", "hanqi"]

console.log(arr.sort()) //["hanqi", "leili", "sili", "songliu", "wangwu", "zhansan"]

傳遞引數的排序方式

splice :新增/刪除專案 返回被刪除的專案(作用於原陣列)

語法:array.splice(index,howmany,item1....item)

1. splice() 方法可刪除從 index 處開始的零個或多個元素,並且用引數列表中宣告的乙個或多個值來替換那些被刪除的元素。

如果從 arrayobject 中刪除了元素,則返回的是含有被刪除的元素的陣列

function add(arr,index,howmany,item)

var arr =[12,5,788,55,46,23,78,15,26]

add(arr,2,0,"william") //新增

console.log(arr) //[12, 5, "william", 788, 55, 46, 23, 78, 15, 26]

// add(arr,2,1,"william") //替換

// console.log(arr)

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

var arr4 = arr3.splice(2,3)

console.log(arr4); //[3,4,5];

console.log(arr3); //[1,2,6,7,"f1","f2"];

資料結構 陣列篇

陣列採取連續儲存,定義了乙個結構體,裡面包含陣列的資訊,實現 如下 include include void init struct array arr,int length 初始化 intadd struct array arr,int item 新增元素 intremove struct arr...

資料結構之(三)之陣列篇

設計乙個演算法,將一維陣列a 下標從1開始 中的元素迴圈右移k位,要求 只用乙個元素大小的附加儲存空間。給出演算法的時間複雜度。includeint cir int a,int n,int k 陣列a,陣列的 個數,迴圈的位數 a 0 t int main cir a,9,5 for int i 0...

Java資料結構(陣列篇)

小c最近開學資料結構,在此記錄下學習歷程。首先 陣列的增刪改查 package ch01array public class myarray public myarray int max 插入資料 public void insert long value 顯示資料 public void disp...