常见数组的方法及返回值有哪些

152 阅读3分钟

一、splice(参数1,参数2,参数3)

之所以把 splice() 放在第一个讲,是因为它实在太强大啦!

  • 作用:指定位置新增或删除数组的元素
  • 参数1 : 开始新增或删除元素的下标
  • 参数2 : 删除元素的个数
  • 参数3 : 新增的元素
  • 影响:会修改原数组
  • 返回值:返回被删除的元素所组成的数组,没有删除则返回空数组

1.splice() 之在数组末尾新增元素

let arr1 = ['吃饭', '睡觉', '打豆豆']
const res1 = arr1.splice(arr1.length, 0, '敲代码')
console.log(res1)// []
console.log(arr1)// ['吃饭', '睡觉', '打豆豆', '敲代码']
复制代码

2.splice() 之在数组末尾删除元素

let arr2 = ['吃饭', '睡觉', '打豆豆']
const res2 = arr2.splice(arr2.length - 1, 1)
console.log(res2)// [ '打豆豆' ]
console.log(arr2)// ['吃饭', '睡觉']
复制代码

3.splice()之在数组指定位置新增元素

let arr3 = ['吃饭', '睡觉', '打豆豆']
let res3 = arr3.splice(1, 0, '写作文')
console.log(res3)// []
console.log(arr3)// ['吃饭','写作文', '睡觉', '打豆豆']
复制代码

4.splice()之在数组指定位置删除元素

let arr4 = ['吃饭', '睡觉', '打豆豆']
let res4 = arr4.splice(1, 1)
console.log(res4)// [ '睡觉' ]
console.log(arr4)// ['吃饭', '打豆豆']
复制代码

二、push()

  • 作用:数组末尾新增元素
  • 影响:会修改原数组
  • 返回值:返回修改后数组的长度
let arr5 = ['吃饭', '睡觉', '打豆豆']
let res5 = arr5.push('做梦')
console.log(res5)// 4 
console.log(arr5)// ['吃饭', '睡觉', '打豆豆','做梦']
复制代码

三、pop()

  • 作用:数组末尾删除元素
  • 影响:会修改原数组
  • 返回值:返回被删除的元素
let arr6 = ['吃饭', '睡觉', '打豆豆']
let res7 = arr6.pop()
console.log(res7)// 打豆豆
console.log(arr6)// ['吃饭', '睡觉']
复制代码

四、unshift()

  • 作用:数组开头新增元素
  • 影响:会修改原数组
  • 返回值:返回修改后数组的长度
let arr7 = ['吃饭', '睡觉', '打豆豆']
let res7 = arr7.unshift('打游戏')
console.log(res7)// 4
console.log(arr7)// ['打游戏','吃饭', '睡觉', '打豆豆']
复制代码

五、shift()

  • 作用:数组开头删除元素
  • 影响:会修改原数组
  • 返回值:返回被删除的元素
let arr8 = ['吃饭', '睡觉', '打豆豆']
let res8 = arr8.shift()
console.log(res8)// 吃饭
console.log(arr8)// ['睡觉', '打豆豆']
复制代码

六、slice(参数1,参数2)

  • 作用:截取数组中的任意个元素
  • 参数1:代表开始截取的第一个元素的下标
  • 参数2:代表截取的元素的个数
  • 影响:不会修改原数组
  • 返回值:返回截取的数据组成的数组
let arr9 = ['吃饭', '睡觉', '打豆豆']
let res9 = arr9.slice(0, 2)
console.log(res9)// ['吃饭', '睡觉']
console.log(arr9)// ['吃饭', '睡觉', '打豆豆']
复制代码

七、reverse()

  • 作用: 翻转数组
  • 影响:会修改原数组
  • 返回值:返回翻转后的新数组
//◆翻转数组
let arr10 = ['吃饭', '睡觉', '打豆豆']
let res10 = arr10.reverse()
console.log(res10)// ['打豆豆', '睡觉', '吃饭']
console.log(arr10)// ['打豆豆', '睡觉', '吃饭']
复制代码
// ◆翻转数组原始方法1
let arr11 = ['吃饭', '睡觉', '打豆豆']
let arr12 = []
for (let i = arr11.length - 1; i >= 0; i--) {
    // arr12[arr12.length]=arr11[i]
    arr12.push(arr11[i])
}
console.log(arr12)// ['打豆豆', '睡觉', '吃饭']
复制代码
//◆翻转数组原始方法2
let arr13 = ['吃饭', '睡觉', '打豆豆']
let arr14 = []
for (let i = 0; i < arr13.length; i++) {
    arr14.unshift(arr13[i])
}
console.log(arr14)// ['打豆豆', '睡觉', '吃饭']
复制代码

八、join()

  • 作用:把数组拼接字符串
let arr15 = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
console.log(arr15.join(''))// ABCDEFG
console.log(arr15.join(','))// A,B,C,D,E,F,G
console.log(arr15.join('|'))// A|B|C|D|E|F|G
console.log(arr15.join(' '))// A B C D E F G
复制代码

九、补充一个字符串的方法做铺垫:split()

  • 把字符串切割成数组
let str1='ABCDEFG'
console.log(str1.split(''))// ['A','B','C','D','E','F','G']
console.log(str1.split('D'))// ['ABC','EFG']
复制代码

十、split()+reverse()+join() 组合实现翻转字符串

let str2='ABCDEFG'
console.log(str2.split('').reverse().join(''))// GFEDCBA
classDiagram
Animal <|-- Duck
Animal <|-- Fish
Animal <|-- Zebra
Animal : +int age
Animal : +String gender
Animal: +isMammal()
Animal: +mate()
class Duck{
+String beakColor
+swim()
+quack()
}
class Fish{
-int sizeInFeet
-canEat()
}
class Zebra{
+bool is_wild
+run()
}