js引用型別 陣列

2021-08-06 00:27:32 字數 2072 閱讀 5846

今天無由的在部落格上開了乙個『隨寫知識點總結』,目的呢,就是想每次遇到基礎知識點,會積累系統全面的總結知識點,加深自己的根基,也方便

以後的知識複習及查詢。

切入正題,今天個人總結的是js資料型別的引用型別的array物件

陣列是值的有序集合,而且可以存放js各種資料型別,因為js是弱型別的語言,所以不像其他語言陣列只能存放特定的資料型別

注意:1. ecmascript語言中的陣列是可以動態變化的(因為是js的陣列的數值儲存採用鏈式結構儲存)

2.array陣列是資料的有序列表。所以陣列裡的數值都有特定的索引值

3.ecmascript同乙個陣列中可以儲存不同型別的資料;

4.每個陣列都有乙個length屬性

1.使用new array()方法

建立未知長度的陣列  var arr1=new array();

建立資料長度       var arr2=new array(20);

建立存放元素的陣列   var arr3=new array(20,10,'hello',null,undefined)

2.使用array()方法

3.使用字面量建立,也是以後最常用建立的方法

var arr4=[1,2,4];

通過下標來讀取陣列的值  arr[5]='hello'

通過陣列的length屬性來獲取陣列的長度   arr=['h','dsa','as'];arr的長度為arr.length

判斷是否是陣列,使用array.isarray(要判斷的變數), 但值得注意的是:(typeof 要判斷變數)或(typeof(要判斷的變數)格式判斷的是基本資料型別,即侷限性就是在於基本資料型別,引用型別都是返回object

1>tostring()方法,形如:arr.tostring(),陣列元素轉為字串,陣列元素預設以「,」來分隔

2>join('符號'),形如:arr.join('+')使用指定符號來分隔元素

1>push()方法,形如:arr.push('新元素1','新元素二'),從陣列末尾的位置新增新元素,並返回陣列的長度

2>pop()方法,形如:arr.pop(),從陣列末尾刪除乙個元素,並把刪除的元素返回出來

1>shift()方法,形如:arr.shift()刪除陣列開頭第乙個元素,並返回刪除的元素

2>unshift()方法,形如:arr.unshift()在陣列開頭新增乙個元素

形如:var arr1=arr.concat('陣列元素',』另外乙個陣列』)根據現有陣列建立新陣列,即原陣列新增元素或者乙個陣列而產生新的陣列

形如:var arr1=arr.slice(開始下標,結束下標[可選]),注意:擷取不包含結束下標,根據當前陣列中乙個或多個元素建立另乙個陣列

對陣列的增刪改操作,形如:arr.splice(起始下標位置,要刪除的元素個數,要插入的元素) 注意:當要刪除的元素個數為0,就是對陣列增操作

eg.var arr1=[1,23,12,45,3];arr1.splice(2,0,'red')

var arr2=[1,23,12,45,3];arr2.splice(0,2);

var arr3=[1,23,12,45,3];arr3.splice(0,3,'green')

獲取陣列元素的下標,形如:arr.indexof(要查詢的元素,要搜尋的起始位置[可選])

陣列元素其實也是乙個陣列

使用for迴圈遍歷

列舉常用的方法:

**如下:

//定義乙個排序函式,第乙個引數是需要排序的陣列,第二個引數是以哪種方式排序

//true代表公升序,false代表降序

function(arr,isascend)

}elseelse if(value1=value2)else

}//這是乙個降序函式

function compare2(value1,value2)

var num=math.floor(arr.length/2);//找到中間的索引值,如果是浮點數,則向下取整

var newvalue=arr.splice(num,1); //找到中間數的值

var left=,right=;

for(var i=0;i愛**,愛上生活!

JS引用型別

重新總結一遍,最近推薦vue給後端的小夥伴使用,涉及到引用物件的值一變全變的問題,比如說乙個列表繫結的data陣列,編輯某一條的表單資料的時候,直接取列表物件的話,在表單中值改變的同時,列表中的資料也跟著變了,這顯然不是我們想要的。這個問題的原因就在於js中的引用型別物件,於是有以下 親測結果 基本...

js 引用型別

建立object 例項的方法有兩種 1 使用new 操作符 varperson newobject person.name ema person.age 27 2 使用物件字面量表示法 varperson 1.1.2.1 建立日期物件 varsomedate newdate 日期字串 date.ut...

JS 引用型別

1 值型別 基本型別 數值 number 布林值 boolean null undefined string 在賦值傳遞中會以引用型別的方式來處理 2 引用型別 物件 陣列 函式。1.直接將引用型別賦值獲取到的是原變數的引用 let test1 let test2 let test3 test1 t...