天天看點

js中數組的方法和屬性下面介紹時arr代表數組屬性方法

下面介紹時arr代表數組

屬性

arr.length--計算數組的長度。傳回--數組長度值

let arr = [1,2,3,4]
console.log(arr.length)
//結果:  4
           

方法

  • 1.      arr.push()--在數組尾部添加元素。得到添加元素後的數組,傳回數組長度
let arr = [1,2,3,4]
console.log(arr.push(5,6))
//結果:  6
console.log(arr);
//結果:[1,2,3,4,5,6]
           
  •  ​​​​2.      arr.pop()--删除數組中最後一個元素。得到删除後的數,傳回删除的值
let arr = [1,2,3,4]
console.log(arr.pop())
//結果:  4
console.log(arr)
//結果:[1,2,3]
           
  • 3.      arr.shift()--删除數組頭部元素。得到删除後的數組,傳回删除的值
let arr = [1,2,3,4]
console.log(arr.shift());
//結果: 1
console.log(arr);
//結果:[2,3,4]
           
  • 4.      arr.unshift()--在數組頭部添加元素。得到添加後的數組,傳回數組長度值
let arr = [1,2,3,4]
console.log(arr.unshift(0))
//結果:  5
console.log(arr);
//結果:[0,1,2,3,4]
           
  • 5.      arr.indexOf()--找到元素對應的索引(從左向右查)。數組不變,傳回值--找到:對應索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.indexOf(4));
//結果:  3
console.log(arr.indexOf(0));
//結果:  -1
           
  • 6.      arr.lastIndexOf()--找到元素對應的索引(從右向左查)。數組不變,傳回值--找到:對應索引值;找不到: -1
let arr = [1,2,3,4]
console.log(arr.lastIndexOf(4))
//結果:  3
console.log(arr.lastIndexOf(0))
//結果:  -1
           
  • 7.      arr.splice()--通過索引删除某個元素。得到删除後的數組,傳回的是删除的數組
let arr = [1,2,3,4]
//第一個值為索引,代表從哪開始删(包括自己)
//第二個值為删除個數
//隻有一個值時,表示從目前索引對應值開始,後面的全部删除,包括自己
console.log(arr.splice(0));
//結果:  [1,2,3,4]
console.log(arr);
//結果:  []

console.log(arr.splice(0,2));
//結果:  [1,2]
console.log(arr);
//結果:  [3,4]

           
  • 8.      arr.fill()--将數組中指定區間的所有元素的值,都替換成某個固定的值。得到替換後的數組,傳回的也是替換後的數組
let arr = [1, 2, 3, 4]
//第一個值為替換後的元素
//後兩個代表區間,[1,3)
//隻寫一個值,則全部替換
console.log(arr.fill(8,1,3));
//結果: [1,8,8,4]
console.log(arr);
//結果: [1,8,8,4]
           
  • 9.      arr.reverse()--颠倒數組中元素的排列順序,即原先的第一個變為最後一個,原先的最後一個變為第一個。得到翻轉後的數組,傳回的也是翻轉後的數組
let arr = [1, 2, 3, 4]

console.log(arr.reverse(2))
//結果: [4,3,2,1]
console.log(arr);
//結果: [4,3,2,1]
           
  • 10.      arr.sort()--對數組元素進行排序。得到排序後的數組,傳回的也是排序後的數組
let arr = [1, 5, 3, 4,8,5,6]
//升序,預設升序
console.log(arr.sort());
//結果: [1,3,4,5,5,6,8]
console.log(arr);
//結果: [1,3,4,5,5,6,8]


//降序
console.log(arr.sort((a,b)=>{return b-a}));
//結果: [8,6,5,5,4,3,1]
console.log(arr);
//結果: [8,6,5,5,4,3,1]
           
  • 11.      arr.concat()--數組合并,可以合并多個數組。得到合并後的數組,傳回的也是合并後的數組
let arr1 = [1,2,3,4]
let arr2 = [1,2,3,4]
let arr3 = [5,6,7]

console.log(arr1.concat(arr2));
//結果: [1,2,3,4,1,2,3,4]
arr = arr1.concat(arr2,arr3)
console.log(arr);
//結果: [1,2,3,4,1,2,3,4,5,6,7]
           
  • 12.      arr. includes()--判斷目前數組是否包含某指定的值,如果是傳回 

    true

    ,否則傳回 

    false

let arr = [1,2,3,4]
console.log(arr.includes(0))
//結果:  false
console.log(arr.includes(1))
//結果:  true
           
  • 13.      arr.slice()--截取目前數組中的一段元素組合成一個新數組,原數組不變,傳回截取後的數組
let arr = [1,2,3,4]
console.log(arr.slice(0))
//結果:  [1,2,3,4]
console.log(arr.slice(0,1))
//結果:  [1]
console.log(arr)
//結果:  [1,2,3,4]
           
  • 14.      arr. forEach((item,index)=>{})--周遊數組,為數組中的每個元素執行一次回調函數,原數組不變
let arr = [1,2,3,4]

//第一個參數為值,第二個為索引
arr.forEach((item,index)=>{
    console.log(item,index);

})
console.log(arr);
//結果:  
1,0
2,1
3,2
4,3
[1,2,3,4]
           
  • 15.      arr. filter((item,index)=>{})--将所有在過濾函數中傳回 

    true

     的數組元素放進一個新數組中并傳回,原數組不變,傳回過濾後的數組
let arr = [1,2,3,4]
arr1 = arr.filter((item,index)=>{
   return item>2
})
console.log(arr1)
//結果:  [3,4]
console.log(arr)
//結果:  [1,2,3,4]
           
  • 16.      arr.map((item,index)=>{})--傳回更改每一項後的數組,原數組不變,傳回更改後的數組
let arr = [1,2,3,4]
arr1 = arr.map((item,index)=>{
   return item=2
})
console.log(arr1)
//結果:  [2,2,2,2]
console.log(arr)
//結果:  [1,2,3,4]
           
  • 17.      arr.find((item,index)=>{})--找到第一個滿足測試函數的元素并傳回那個元素的值,如果找不到,則傳回 

    undefined

let arr = [1, 2, 3, 4, 1, 2, 3, 4]

let found1 = arr.find((item,index) => item > 1)
console.log(found1);
//結果:  2
let found2 = arr.find((item,index) => item > 11)
console.log(found2);
//結果:  undefined
           
  • 18.      arr.findIndex((item,index)=>{})--找到第一個滿足測試函數的元素并傳回那個元素的索引,如果找不到,則傳回 

    -1

let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.findIndex((item,index) => item > 1)
console.log(found1);
//結果:  1    //也就是第一個滿足條件2對應的索引值
let found2 = arr.findIndex((item,index) => item > 11)
console.log(found2);
//結果:  -1
           
  • 19.      arr.every((item,index)=>{})--如果數組中的每個元素都滿足測試函數,則傳回 

    true

    ,否則傳回 

    false。

let arr = [1, 2, 3, 4, 1, 2, 3, 4]
let found1 = arr.every((item,index) => item > 0)
console.log(found1);
//結果:  true   //每一項都滿足條件
let found2 = arr.every((item,index) => item > 2)
console.log(found2);
//結果:  false  //有一個不滿足就為false
           
  • 20.       arr.some((item,index)=>{})--如果數組中至少有一個元素滿足測試函數,則傳回 true,否則傳回 false
let arr = [1, 2, 3, 4]
let found1 = arr.some((item,index) => item > 3)
console.log(found1)
//結果:  true    //有一個滿足就為true
let found2 = arr.some((item,index) => item > 4)
console.log(found2)
//結果:  false    //都不滿足為false
           
  • 21.      arr.reduce((a,b)=>{},c)--從左到右為每個數組元素執行一次回調函數,并把上次回調函數的傳回值放在一個暫存器中傳給下次回調函數,并傳回最後一次回調函數的傳回值; arr.reduceRight(從右向左執行)
let arr = [1, 2, 3, 4]
//第一次: a=1,b=2
//第二次: a=3,b=3
//第三次: a=6,b=4
let arr1 = arr.reduce((a,b)=>{
   return a+b
})
console.log(arr1)
//結果:  10


//第一次: a=10,b=1
//第二次: a=11,b=2
//第三次: a=13,b=3
//第四次: a=16,b=4
let arr1 = arr.reduce((a,b)=>{
   return a+b
},10)
console.log(arr1)
//結果:  20
           
  • arr.join( ) -- 在數組中加入一個特殊符号,原數組不變; 傳回值:字元串
let arr = [1, 5, 3, 4, 8, 5, 6]

console.log(arr.join(','));
//結果:  1,5,3,4,8,5,6
console.log(arr);
//結果:  [1, 5, 3, 4,8, 5, 6]
           

繼續閱讀