各类数组-字符串- api --你想要的我都有

182 阅读3分钟

数组 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 : 求和