关于es6中的函数 发现在日常工作中也是常用项,但是老是记不住,老要百度,特总结一下
判断是否包含
此方法不仅对 字符串生效,同样对数组也生效,对象数组不生效(仅为测试)
let str = '123456'
let str1 = '01'
let str2 = '12'
console.log(str.includes(str1)) // false
console.log(str.includes(str2)) // true
let arr = [1, 2, 3, 4]
console.log(arr.includes(1)) // true
console.log(arr.includes(0)) // false
let arrObj = [
{
name: 'libin',
age: 18
}, {
name: 'zhangsan',
age: 20
}
]
console.log(arrObj.includes({
name: 'libin',
age: 18
})) // false
数组去重
let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
let array = new Set(arr)
console.log(array)
let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
let arr1 = [1, 2, 3]
let array = new Set(arr)
console.log(array)
console.log(Array.from(new Set(arr)))
对象
hasOwnProperty() 方法判断一个对象(list)中是否有某个属性,如果有返回 true,否则返回 false
let obj = {
name: 'libin',
age: 18
}
console.log(obj.hasOwnProperty('name')) //true
console.log(obj.hasOwnProperty('age')) // true
console.log(obj.hasOwnProperty('sex')) // false
合并对象 Object.assign()
let obj1 = {
name: 'libin',
age: 18
}
let obj2 = {
sex: 'female'
}
console.log(Object.assign(obj1, obj2)) // {name: "libin", age: 18, sex: "female"}
当两个对象中含有相同属性,后面的会把前面的覆盖掉
let obj1 = {
name: 'libin',
age: 18
}
let obj2 = {
name: 'zhangsan',
sex: 'female'
}
console.log(Object.assign(obj1, obj2)) // {name: "zhangsan", age: 18, sex: "female"}
Object.assign() 同样可以用来拷贝对象
let obj2 = {
name: 'zhangsan',
sex: 'female'
}
const copy = Object.assign({}, obj2)
console.log(copy) // {name: "zhangsan", sex: "female"}
以下方法对对象数组均适用
find()
返回存在元素,不存在 undefined
let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
console.log(arr.find(item => {
return item === 1
})) // 1
console.log(arr.find(item => {
return item === 2
})) // 3
console.log(arr.find(item => {
return item === 8
})) // undefined
findIndex()
返回存在元素第一个的下标,不存在 -1
console.log(arr.findIndex(item => {
return item === 6
})) // 9
console.log(arr.findIndex(item => {
return item === 8
})) // -1
some()
用于检测数组中的元素是否符合条件 只要有一个符合就 true ,全部不符合 false
console.log(arr.some(item => {
return item === 1
})) // true
console.log(arr.some(item => {
return item > 3
})) // true
console.log(arr.some(item => {
return item > 6
})) // false
every()
用于检测数组中的元素是否符合条件 只要有一个不符合就 false ,全部符合才会 true
console.log(arr.every(item => {
return item > 6
})) // false
console.log(arr.every(item => {
return item > 3
})) // false
console.log(arr.every(item => {
return item >= 1
})) // true