JS數(shù)組

數(shù)組的聲明(引用數(shù)據(jù)類型)

1.使用[] 聲明數(shù)組

var arr = [1,2,3]

2.使用new 關(guān)鍵詞進(jìn)行聲明 (對象)

  var arr = new Array(10) //里面參數(shù)指定對應(yīng)的長度 如果你沒有寫 表示長度為0
  var arr2 = new Array(1,2,3,4) //當(dāng)前數(shù)組里面的數(shù)據(jù)有 1 2 3 4

3.下標(biāo)訪問

console.log(arr[0])//獲取第一個  
console.log(arr['0']); //獲取第一個  可以允許字符串

4.數(shù)組的賦值

arr[0] = 10
console.log(arr[0]) //10   // 給數(shù)組里面的元素隨機給值
var arr = new Array()
for(var i=0;i<10;i++){
  arr[i] = Math.random() //0-1 包含0 不包含1的
}
  console.log(arr);
  1. 數(shù)組遍歷

1) 傳統(tǒng)的for循環(huán)遍歷

var arr = [1,2,3,45,12] //利用順序表的特點 有序
      for(var i=0;i<arr.length;i++){
     console.log(arr[i])
      }

2)for in遍歷 (對象 下標(biāo) 迭代器 next)

var arr = [1,2,3,45]
  for(var index in arr){ //index表示的為下標(biāo)
  console.log(arr[index])
}

3)for of進(jìn)行遍歷(數(shù)組 迭代器來實現(xiàn)的)

  //使用for of遍歷(只能遍歷數(shù)組)
  for(var value of arr){ //value表示的是里面值
  console.log(value)
}

#### 數(shù)組的方法

數(shù)組是一個存儲結(jié)構(gòu)(增刪改查的操作)

添加 (add push append..)
棧方法 (先進(jìn)后出 后進(jìn)先出)push 入棧 pop出棧操作

push方法(添加到最后一個)

隊列方法(先進(jìn)先出 后進(jìn)后出)

unshift方法(添加到第一個)

var arr = [1]
arr.unshift(10)
console.log(arr) //[10,1]
刪除 (delete(硬刪) remove(軟刪)..)
棧方法

pop方法(刪除最后面)

  var arr = [1,2,3]
  arr.pop() //下標(biāo)不寫的
  console.log(arr) //[1,2]
隊列方法

shift方法(刪除第一個)

 var arr = [1,2,3]
 arr.shift()
 console.log(arr) //[2,3]
反轉(zhuǎn) reverse(將最后一個變到第一個 一個個對應(yīng)的換位置)
  //改變原本的數(shù)組
   var arr = [1,2,3,4,8]
   var arr1 = arr.reverse(); //返回一個數(shù)組 這個數(shù)組就是反轉(zhuǎn)后的數(shù)組
   arr1.unshift(10) //返回的反轉(zhuǎn)后的數(shù)組其實就我們原本的數(shù)組
   console.log(arr) //反轉(zhuǎn)后的結(jié)果 [8,4,3,2,1] 
   console.log(Object.is(arr1,arr));//true  
排序 sort
  //sort方法排序 //默認(rèn)情況下他是根據(jù)第一個字符的ACSII碼進(jìn)行排序 (ACSII碼排序)
  var arr2 = [15,20,11,4,5]
arr2.sort() //返回一個數(shù)組 這個數(shù)組是排序好的數(shù)組 他跟上面一樣 就是返回的這個數(shù)組其實就是原本的數(shù)組
console.log(arr2);
  // sort 其實是一個高階函數(shù) 高階函數(shù)就是里面用函數(shù)做為參數(shù)的函數(shù)
var arr3 = [15,20,11,4,5]
  arr3.sort(function(a,b){
//1 和 -1來進(jìn)行大小區(qū)分和排序規(guī)則
  return  b-a //a-b是正序 b-a就倒序
})
  console.log(arr3);
不影響原本數(shù)組的方法
concat (連接)
//不會影響原本數(shù)組的方法 返回新的數(shù)組
var arr = [1,2,3,4]
var arr1 = [1,2,3,4]
var arr2 = [1,2,3,4]
var arr3 = [1,2,3,4]
// concat 連接 把多個數(shù)組變成一個數(shù)組 返回 ...擴展運算符 打開數(shù)組取出    里面的值(...證明可以寫任意個) ? 表示可寫可不寫
  var newArr = arr.concat(arr1,arr2,arr3)
  console.log(newArr);
slice (截取)
  // slice 切片 把一個數(shù)組里面東西提出 返回的新的數(shù)組
var sliceArr = arr.slice()//全切
console.log(sliceArr);
var sliceArr1 = arr.slice(0)//從0開始切到最后 如果下標(biāo)不存在返回一個空數(shù)組
console.log(sliceArr1);
var sliceArr2 = arr.slice(2,3)//不包含結(jié)束的下標(biāo) 包含開始的下標(biāo)
console.log(sliceArr2);
splice 方法 (刪除)

//splice會影響之前的數(shù)組 刪除 截取 插入

var arr = [12,13,45]
//參數(shù) 開始位置 刪除的個數(shù)(可以寫可以不寫 數(shù)組的length) 返回一個新的數(shù)組
// var newArr =  arr.splice(0) //從開始刪
// console.log(newArr);
console.log(arr);
var newArr =  arr.splice(1,2) //從開始刪
console.log(newArr);
//獲取刪除的內(nèi)容 其實就截取里面的內(nèi)容(不足是會改變之前的數(shù)組)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容