JS資料結構 Array陣列

2022-07-22 00:54:17 字數 3330 閱讀 1459

陣列array

建立:

1.使用方括號[ ]進行建立和初始化

var arr=   //

建立乙個空陣列

var arr=[1,2,3] //

建立乙個包含數字的陣列

2.使用array建構函式

var arr=new array()   //

建立空陣列

var arr=new array(1,2,3) //

建立包含數字的陣列

var arr=new array(10) //

建立長度為10的陣列

3.判斷是否為陣列array.isarray(arr)

var arr=[1,2,3];

array.isarray(arr)

//true

訪問函式

不會產生新陣列:

1.查詢元素indexof()、lastindexof()

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

arr.indexof(1) //

0arr.lastindexof(1) //

4

2.陣列轉字串join()、tostring()

var arr=["a ","b","c"]

arr.join();

//a,b,c

arr.tostring() //

a,b,c

不帶逗號的連線:join("")

var arr=['a','b','c'];

arr.join("") //

abc

會產生新陣列

1.連線arr1.concat(arr2)

var arr1=[1,2,3];

var arr2=[4,5,6];

arr1.concat(arr2);

//[1,2,3,4,5,6]

arr2.concat(arr1); //

[4,5,6,1,2,3]

2.擷取splice(index,length)

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

var part=arr.splice(3,3); //

[4,5,6]

可變函式

1.新增元素push()、unshift()

var arr=[1,2,3];

arr.push(4); //

[1,2,3,4]

arr.push(['a','b','c']) //

[1,2,3,4,['a','b','c']]

arr.unshift(0);   //[0,1,2,3]

arr.unshift(['a','b','c']) //[['a','b','c'],1,2,3]

2.刪除元素pop()、shift()

var arr=[1,2,3];

var back=arr.pop(); //

3var pre=arr.shift(); //

1

3.替換元素splice(index,length,new_arr)

var arr=[1,2,3];

var arr1=arr.splice(0,1,'a'); //

['a',2,3],arr1=[1]

4.反序reverse()

var arr=[1,2,3];

arr.reverse();

//[3,2,1]

5.排序sort(),按字典順序對元素進行排序

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

arr.sort();

//[1, 2, 3, 4, 8]

預設按照從大到小的順序進行排列,可新增排列函式

function

cmp(a,b)

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

arr.sort(cmp);

//[[8, 4, 3, 2, 1]]

迭代器方法

不產生新陣列

1.foreach(fn)對陣列的每個元素執行fn

var arr=[1,2,3];

arr.foreach(

function(i)); //

1 4 9

2.every(fn),陣列的每個元素均使得fn返回true,則every返回true

var arr=[2,4,6,8];

arr.every(

function(i)) //

true

3.some(fn),陣列中存在元素使得fn返回true

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

arr.some(

function(i)) //

true

4.reduce(fn),對陣列中的元素進行累計fn運算

var arr=[1,2,3];

var sum=arr.reduce(function(res,cur),0) //

6,對陣列元素求和

var s=['a','b','c'];

var str=s.reduce(function(res,cur),'') //

abc,連線字串

5.reduceright(fn),反向陣列累計fn運算

var s=['a','b','c'];

var str=s.reduceright(function(res,cur),'') //

cba,反向連線字串

生成新陣列

1.arr.map(fn),對陣列元素執行fn,並返回結果陣列

var arr=[1,2,3];

var new_arr=arr.map(function(i)) //

[1,4,9]

2.arr.filter(fn),陣列過濾,返回包含使得fn為true的元素的陣列

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

var new_arr=arr.filter(function(i)) //

[2,4,6]

資料結構之(陣列Array)

1.什麼是陣列 2.陣列的優點和缺點 3.案例怎麼實現動態陣列 4.總結 1.什麼是陣列?所謂陣列,是有序的元素序列。若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。用於區分陣列的各個元素的數字編號稱為下標。陣列是在程...

Golang基礎 資料結構 陣列(array)

var 變數名 元素數量 長度 元素型別 例如 var a 5 intvar b 4 int注意 1.陣列是多個相同型別資料的組合,乙個組合一旦宣告或定義,其長度是固定的,不能動態變化 2.陣列中的元素可以是任何資料型別,包括值型別和引用型別,但是不可以混用 3.建立後,如果沒有賦值,預設零值 4....

Go基礎資料結構 陣列Array

陣列和切片是 go 語言中常見的資料結構,很多剛剛使用 go 的開發者往往會混淆這兩個概念。陣列作為最常見的集合在程式語言中是非常重要的,除了陣列之外,go 語言引入了另乙個概念 切片,切片與陣列有一些類似,但是它們的不同導致了使用上的巨大差別。golang array和以往認知的陣列有很大不同 1...