常用方法总结

灰太狼 2022-10-15 13:54 351阅读 0赞

关于es6中的函数 发现在日常工作中也是常用项,但是老是记不住,老要百度,特总结一下

判断是否包含

此方法不仅对 字符串生效,同样对数组也生效,对象数组不生效(仅为测试)

  1. let str = '123456'
  2. let str1 = '01'
  3. let str2 = '12'
  4. console.log(str.includes(str1)) // false
  5. console.log(str.includes(str2)) // true
  6. let arr = [1, 2, 3, 4]
  7. console.log(arr.includes(1)) // true
  8. console.log(arr.includes(0)) // false
  9. let arrObj = [
  10. {
  11. name: 'libin',
  12. age: 18
  13. }, {
  14. name: 'zhangsan',
  15. age: 20
  16. }
  17. ]
  18. console.log(arrObj.includes({
  19. name: 'libin',
  20. age: 18
  21. })) // false

数组去重

  1. let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
  2. let array = new Set(arr)
  3. console.log(array)

在这里插入图片描述

  1. let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
  2. let arr1 = [1, 2, 3]
  3. let array = new Set(arr)
  4. console.log(array)
  5. console.log(Array.from(new Set(arr)))

在这里插入图片描述

对象

hasOwnProperty() 方法判断一个对象(list)中是否有某个属性,如果有返回 true,否则返回 false

  1. let obj = {
  2. name: 'libin',
  3. age: 18
  4. }
  5. console.log(obj.hasOwnProperty('name')) //true
  6. console.log(obj.hasOwnProperty('age')) // true
  7. console.log(obj.hasOwnProperty('sex')) // false

合并对象 Object.assign()

  1. let obj1 = {
  2. name: 'libin',
  3. age: 18
  4. }
  5. let obj2 = {
  6. sex: 'female'
  7. }
  8. console.log(Object.assign(obj1, obj2)) // {name: "libin", age: 18, sex: "female"}

当两个对象中含有相同属性,后面的会把前面的覆盖掉

  1. let obj1 = {
  2. name: 'libin',
  3. age: 18
  4. }
  5. let obj2 = {
  6. name: 'zhangsan',
  7. sex: 'female'
  8. }
  9. console.log(Object.assign(obj1, obj2)) // {name: "zhangsan", age: 18, sex: "female"}

Object.assign() 同样可以用来拷贝对象

  1. let obj2 = {
  2. name: 'zhangsan',
  3. sex: 'female'
  4. }
  5. const copy = Object.assign({ }, obj2)
  6. console.log(copy) // {name: "zhangsan", sex: "female"}

以下方法对对象数组均适用

find()

返回存在元素,不存在 undefined

  1. let arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 6]
  2. console.log(arr.find(item => {
  3. return item === 1
  4. })) // 1
  5. console.log(arr.find(item => {
  6. return item === 2
  7. })) // 3
  8. console.log(arr.find(item => {
  9. return item === 8
  10. })) // undefined

findIndex()

返回存在元素第一个的下标,不存在 -1

  1. console.log(arr.findIndex(item => {
  2. return item === 6
  3. })) // 9
  4. console.log(arr.findIndex(item => {
  5. return item === 8
  6. })) // -1

some()

用于检测数组中的元素是否符合条件 只要有一个符合就 true ,全部不符合 false

  1. console.log(arr.some(item => {
  2. return item === 1
  3. })) // true
  4. console.log(arr.some(item => {
  5. return item > 3
  6. })) // true
  7. console.log(arr.some(item => {
  8. return item > 6
  9. })) // false

every()

用于检测数组中的元素是否符合条件 只要有一个不符合就 false ,全部符合才会 true

  1. console.log(arr.every(item => {
  2. return item > 6
  3. })) // false
  4. console.log(arr.every(item => {
  5. return item > 3
  6. })) // false
  7. console.log(arr.every(item => {
  8. return item >= 1
  9. })) // true

发表评论

表情:
评论列表 (有 0 条评论,351人围观)

还没有评论,来说两句吧...

相关阅读

    相关 方法总结

    关于es6中的函数 发现在日常工作中也是常用项,但是老是记不住,老要百度,特总结一下 判断是否包含 此方法不仅对 字符串生效,同样对数组也生效,对象数组不生效(仅为测试