一、数据类型判断
1. typeof 判断数据类型
console.log(typeof 2)
console.log(typeof undefined)
console.log(typeof '222')
console.log(typeof true)
console.log(typeof Symbol())
console.log(typeof 1n)
console.log(typeof null)
console.log(typeof {})
console.log(typeof [])
console.log(typeof new Function())
console.log(typeof new Date())
console.log(typeof new RegExp())
2. instanceof 判断A是否为B的实例
let arr = [1, 2]
console.log(arr instanceof Array)
3. toString 把数据类型转换为字符串
let val = 12345
console.log(typeof val.toString())
二、常用数组遍历方法
1. forEach() 遍历数组 两个参数 第一个遍历对象 第二个下标
let list = [1, 2, 3, 4, 5]
list.forEach((item, index) => {
console.log(item)
console.log(index)
})
2. every(fn) 判断数组中是否所有元素都满足fn函数中的条件 返回一个布尔值
let list = [1, 2, 3, 4, 5]
let result = list.every(val => {
return val > 0
})
console.log(result)
result = list.every(val => {
return val > 1
})
console.log(result)
3. filter(fn) 返回数组中满足fn函数条件的集合
let list = [1, 2, 3, 4, 5]
let result = list.filter(val => {
return val > 2
})
console.log(result)
4. find(fn) 返回数组中第一个匹配fn函数中条件的值,没有则返回undefined
let list = [1, 2, 3, 4, 5]
let result = list.find(val => {
return val > 2
})
console.log(result)
result = list.find((val)=>{
return val > 5
})
console.log(result)
5. findIndex(fn) 返回数组中第一个匹配fn函数中条件的索引,没有则返回-1
let list = [1, 2, 3, 4, 5]
let result = list.findIndex(val => {
return val > 2
})
console.log(result)
result = list.findIndex(val => {
return val > 5
})
console.log(result)
6. includes() 返回一个布尔值,表示某个数组是否包含给定的值
let list = [1, 2, 3, 4, 5]
let result = list.includes(2)
console.log(result) // true
result = list.includes(6)
console.log(result) // false
7. map(fn) 以fn函数中返回值组成新的数组返回
let list = [1, 2, 3, 4, 5]
let result = list.map(item => {
return item + 1
})
console.log(result)
8. reduce(fn, 初始值) 累计器
let result = list.reduce((accumulator, currentValue, currentIndex, array) => {
console.log(accumulator, currentValue, currentIndex, array)
return accumulator + currentValue;
}, 2)
console.log(result)
result = list.reduce((accumulator, currentValue, currentIndex, array) => {
console.log(accumulator, currentValue, currentIndex, array)
return accumulator + currentValue;
})
console.log(result)
9. some(fn) 检查数组中是否含有满足fn函数条件的值 返回一个布尔值
let list = [1, 2, 3, 4, 5]
let result = list.some(val => {
return val > 3
})
console.log(result)
result = list.some(val => {
return val > 6
})
console.log(result)
三、常用对象遍历方法
1. for-in 遍历出原型链上的属性,可以通过hasOwnProperty方法来实现过滤
let obj = {
name: '洛辰',
age: 23,
sex: '男'
}
for(let key in obj) {
console.log(`${key} => ${obj[key]}`)
}
2. Object.keys(obj) 返回对象自身属性名组成的数组
let obj = {
name: '洛辰',
age: 23,
sex: '男'
}
console.log(Object.keys(obj)) // ['name', 'age', 'sex']
3. Object.values(obj) 返回对象自身属性值组成的数组
let obj = {
name: '洛辰',
age: 23,
sex: '男'
}
console.log(Object.values(obj)) // ['洛辰', 23, '男']
4. Object.getOwnPropertyNames(obj) 返回对象自身属性名组成的数组(包括不可枚举属性)
let obj = {
name: '洛辰',
age: 23,
sex: '男'
}
console.log(Object.getOwnPropertyNames(obj)) // ['name', 'age', 'sex']
四、常用字符串操作方法
1. charAt(index) 返回下标的那个字符
let str = 'hello world'
console.log(str.charAt(8))
2. concat() 字符串往后拼接
let str = 'hello'
console.log(str.concat(' world'))
3. replace() 替换第一个符合条件的字符
let str = 'A-BA-CBA-DCBA'
console.log(str.replace('A', 'B'))
console.log(str.replace('A'))
4. replaceAll() 替换所有符合条件的字符
let str = 'A-BA-CBA-DCBA'
console.log(str.replaceAll('A', 'B'))
console.log(str.replaceAll('A'))
5. slice() 截取下标到下标之间的字符
let str = 'hello world'
console.log(str.slice(0, 6)) // 'hello'
console.log(str.slice(1)) // 'ello world'
6. substring() 截取下标到下标之间的字符
let str = 'hello world'
console.log(str.substring(0, 6)) // 'hello'
console.log(str.substring(1)) // 'ello world'
7. substr() 截取从下标开始的长度的字符
let str = 'hello world'
console.log(str.substr(0, 4))
console.log(str.substr(-5, 4))
8. split() 把字符串分割为字符串数组
let str = 'hello world'
console.log(str.split(' ')) // ['hello', 'world']
console.log(str.split('')) // ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
9. trim() 移除字符串首尾空白 但不能移除中间的空白
let str = ' hello world '
console.log(str.trim())
10. indexOf() 从前开始搜索指定的字符串 返回字符串的位置 没有找到则返回-1
let str = 'hello world'
console.log(str.indexOf('l'))
console.log(str.indexOf('hello'))
console.log(str.indexOf('world'))
11. lastIndexOf() 从后开始搜索指定的字符串 返回字符串的位置 没有找到则返回-1
let str = 'hello world'
console.log(str.lastIndexOf('l'))
console.log(str.lastIndexOf('hello'))
console.log(str.lastIndexOf('world'))
12. toUpperCase() 将字符串全部转换为大写
let str = 'Hello World'
console.log(str.toUpperCase())
13. toLowerCase() 将字符串全部转换为小写
let str = 'Hello World'
console.log(str.toLowerCase())
五、常用数组操作方法
1. join() 数组拼接为字符串
let arr = [1, 2, 3, 4, 5]
console.log(arr.join())
console.log(arr.join('-'))
2. push() 数组末尾添加元素
let arr = ['aa', 'bb', 'cc', 'dd']
let num = arr.push('ee', 'ff')
console.log(num) // 6 返回新数组的长度
console.log(arr) // ['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
3. pop() 删除数组末尾的值
let arr = ['aa', 'bb', 'cc', 'dd']
let item = arr.pop()
console.log(item) // dd 删除的那个值
console.log(arr) // ['aa', 'bb', 'cc']
4. unshift() 数组开头添加元素
let arr = ['aa', 'bb', 'cc', 'dd']
let num = arr.unshift('a1', 'a2')
console.log(num) // 6 返回新数组的长度
console.log(arr) // ['a1', 'a2', 'aa', 'bb', 'cc', 'dd']
5. shift() 删除数组开头的值
let arr = ['aa', 'bb', 'cc', 'dd']
let item = arr.shift()
console.log(item)
console.log(arr)
6. sort(fn) 数组排序 字母从小到大 数值绑定fn函数
let arr1 = ['aa', 'ee', 'bb', 'dd', 'cc']
console.log(arr1.sort()) // ['aa', 'bb', 'cc', 'dd', 'ee']
let arr2 = [8, 1, 45, 5]
console.log(arr2.sort(function(a,b){return a-b})) // [1, 5, 8, 45]
7. reverse() 反转数组
let arr = [1, 2, 3, 4, 5]
console.log(arr.reverse())
console.log(arr)
8. concat() 两个数组或多个数组拼接
let arr1 = ['a1', 'a2', 'a3']
let arr2 = ['b1', 'b2', 'b3']
let arr3 = ['c1', 'c2', 'c3']
console.log(arr1.concat(arr2, arr3)) // ['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2', 'c3']
9. slice(sta, end) 数组截取
let arr = [1, 3, 5, 7, 9, 11]
console.log(arr.slice(1))
console.log(arr.slice(1, 3))
10. splice(下标, 删除个数, 替换元素):删除、插入和替换
let arr = ['aa', 'bb', 'cc', 'dd', 'ee', 'ff']
let arr1 = arr.splice(0, 2)
console.log(arr1) // ['aa', 'bb'] 删除的元素
console.log(arr) // ['cc', 'dd', 'ee', 'ff']
let arr2 = arr.splice(2, 0, 'gg')
console.log(arr2) // []
console.log(arr) // ['cc', 'dd', 'gg', 'ee', 'ff']
let arr3 = arr.splice(2, 2, 'hh')
console.log(arr3) // ['gg', 'ee']
console.log(arr) // ['cc', 'dd', 'hh', 'ff']