数组 api
1.push() 添加数组 (最后)
- push:将value添加到数组的最后,返回新数组的长度(改变原数组)
// Base
let a = [1, 2, 3, 4, 5]
let result = a.push(1)
console.log(result) // 6
console.log(a) // [1, 2, 3, 4, 5, 1]
// More
result = a.push('a', 'b') // 可一次添加多个值
console.log(result) // 8
console.log(a) // [1, 2, 3, 4, 5, 1, 'a', 'b']
2. unshift() 添加数组(开头)
- 添加元素到数组的开头,返回新数组的长度(改变原数组)
// Base
let a = [1, 2, 3, 4, 5]
let result = a.unshift(1)
console.log(result) // 6
console.log(a) // [1, 1, 2, 3, 4, 5]
// More
result = a.unshift('a', 'b') // 可一次添加多个值
console.log(result) // 8
console.log(a) // ['a', 'b', 1, 1, 2, 3, 4, 5]
3.pop() 删除数组(末尾)
- 删除数组中最后一个元素,返回被删除的元素(改变原数组)
// Base
let a = [5]
let result = a.pop()
console.log(result) // 5
console.log(a) // []
// More
result = a.pop() // 数组为空数组后,执行pop()方法,返回undefined
console.log(result) // undefined
console.log(a) // []
4.shift () 删除数组 (开头)
- 删除数组第一个元素,返回被删除的元素(改变原数组)
// Base
let a = [5]
let result = a.shift()
console.log(result) // 5
console.log(a) // []
// More
result = a.shift() // 数组为空数组后,执行pop()方法,返回undefined
console.log(result) // undefined
console.log(a) // []
5.join () 数组拼接
- 将数组用value连接为字符串,返回被连接后的字符串(不改变原数组) 周杰伦&蔡依林
let arr = [10,20,30]
let obj= arr.join('*')
console.log(obj)
结果: 10*20*30
6.arr.concat (数组) 连接数组
- 下拉加载下一页数据 (需要连接数组)
let arr = [10,20,30]
arr= arr.concat([40,50,60])
console.log(arr)
结果 : [10,20,30,40,50,60]
7 .arr.**reverse **() 翻转数组
- 翻转数组
let arr = [10,20,30]
arr= arr.reverse()
console.log(arr)
结果 : [30,20,10]
8 .arr.sort(function(a,b)) 数组排序
- 数组排序
arr1 = [5,65,45,88,94,12,46]
res= arr1.sort(function(a,b){
// return b-a //b-a 大到小
return a-b //a-b 小到大
})
console.log(res)
字符串对象
1.indexOf('字符串')
- 找字符串首字母下标 没有就是固定值:-1
let str = '黑马大前端颜值担当wo'
console.log(str.indexOf('大前端')) // 2 大前端的首字母下标
// 有 :首字母下标 没有: 固定值 : -1
2 .split('分割符')
- 在符号处分割,形成数组
let url='http//www.baidu.com?username=张三&age=20'
console.log(url.split('&')) //['http//www.baidu.com?username=张三', 'age=20']
console.log(url.split('?')) //['http//www.baidu.com', 'username=张三&age=20']
console.log(url.split('=')) //['http//www.baidu.com?username', '张三&age', '20']
//括号里面什么符号,就从网址里面相同符号的地方开始分割
3 . 长度和下标
- 获取数组长度和下标
let str = '黑马大前端颜值担当wo'
console.log(str.length) // 11
console.log(str[2]) // 大
4 .str.substr (起始下标,长度)
-
从起始下标截取指定长度的字符
console.log ( str.substr ( [ 3 ] ,4 ) ) // 前端颜值 从3 下标开始截取4个字符
let str = '黑马大前端颜值担当wo'
console.log ( str.substr ( [ 3 ] ,4 ) )** // 前端颜值 从3 下标开始截取4个字符
结果 : 前端颜值
5 大小写转换
-
中文不能进行大小写转换
console.log ( '转换的字母' . toLocaleUpperCase () ) 大换小 console.log ( '转换的内容' . toLocaleUpperCase () ) 小换大
```JavaScript
console.log('kjjhkiuUIKKB'.toLocaleLowerCase()) // kjjhkiuuikkb
console.log('kjjhkiuUIKKB'.toLocaleUpperCase()) // KJJHKIUUIKKB
### 2 .split('分割符')
- 在符号处分割,形成数组
```Vue
let url='http//www.baidu.com?username=张三&age=20'
console.log(url.split('&')) //['http//www.baidu.com?username=张三', 'age=20']
console.log(url.split('?')) //['http//www.baidu.com', 'username=张三&age=20']
console.log(url.split('=')) //['http//www.baidu.com?username', '张三&age', '20']
//括号里面什么符号,就从网址里面相同符号的地方开始分割
2 .split('分割符')
- 在符号处分割,形成数组
let url='http//www.baidu.com?username=张三&age=20'
console.log(url.split('&')) //['http//www.baidu.com?username=张三', 'age=20']
console.log(url.split('?')) //['http//www.baidu.com', 'username=张三&age=20']
console.log(url.split('=')) //['http//www.baidu.com?username', '张三&age', '20']
//括号里面什么符号,就从网址里面相同符号的地方开始分割
... 展开运算符
map : 映射
filter : 筛选数组
forEach : 遍历数组
some : 判断 (逻辑||)
every : 判断 (逻辑&&)
findIndex :找元素下标
reduce : 求和