陣列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]
預設按照從大到小的順序進行排列,可新增排列函式
functioncmp(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...