一、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()
}