今天無由的在部落格上開了乙個『隨寫知識點總結』,目的呢,就是想每次遇到基礎知識點,會積累系統全面的總結知識點,加深自己的根基,也方便
以後的知識複習及查詢。
切入正題,今天個人總結的是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...