博客列表 >访问器属性与字符串,数组常用方法

访问器属性与字符串,数组常用方法

kong
kong原创
2023年04月04日 18:29:31646浏览

Js 基本语法 - 5

访问器属性

  1. 语法糖
  2. 1. getter: getAge() => get age()
  3. 2. setter: setAge(value) => set age(value)
  4. 按照“属性来访问”,按照“方法”来声明
  5. 做判断的话提示错误优先策略
  6. let user = {
  7. data: {
  8. firstName: "John",
  9. names: "墨仔",
  10. },
  11. //读取
  12. get us() {
  13. return this.data.names + " " + this.data.firstName;
  14. },
  15. //设置
  16. set us1(name) {
  17. this.firstName = name;
  18. },
  19. };
  20. // console.log(user.us);
  21. user.data.firstName = "Liang";
  22. //输出读取的方法
  23. console.log(user.us); ////墨仔 Liang

常用字符串方法

  1. let str = "钩针王国";
  2. // 1. 长度: length
  3. console.log(str.length)
  4. console.log("=========================");
  5. // 2. search: 字符-> 引索
  6. console.log(str.search('王'))
  7. console.log("=========================");
  8. // 3. replace: 替换 旧值 => 新值
  9. console.log(str.replace('王','小'))
  10. console.log("=========================");
  11. // 4. slice: 子串, 起始索引,结束索引(忽略结束引索的值)
  12. console.log(str.slice(0,2))
  13. console.log("=========================");
  14. // 5. substr: 子串 起始索引,获取的数量 (不用知道到哪结束)
  15. console.log(str.substr(2,2))
  16. console.log("=========================");
  17. // 6. split: string -> array 字符串变数组
  18. console.log(str.split(' '))
  19. console.log("=========================");
  20. // 7. toLowerCase()小写 / toUpperCase()大写
  21. str = 'Crochet Charts'
  22. console.log(str.toLowerCase())
  23. console.log(str.toUpperCase())

数组常用的方法-1

  1. // 1. 在尾部追加与删除 push() 追加 pop() 删除
  2. let arr = ['1','2','3','4','5']
  3. console.log(arr.push('6'))
  4. console.log(arr)
  5. console.log(arr.pop())
  6. console.log("=========================");
  7. // 2. 头部添加与删除 unshift()添加 shift()删除
  8. console.log(arr.unshift('0'))
  9. console.log(arr)
  10. console.log(arr.shift())
  11. console.log(arr)
  12. console.log("=========================");
  13. // 尾进头出 push + shift
  14. arr = []
  15. arr.push(1,2,3)
  16. console.log(arr.shift())
  17. //删除任意位置
  18. arr = ['1','2','3','4','5']
  19. console.log(delete arr[2])
  20. //删除后位置还在但是只是一个占位符空白
  21. console.log(arr); //['1', '2', 空白, '4', '5']
  22. //使用filter过滤掉占位符
  23. let c1 = arr.filter(item => item)
  24. console.log(c1) // ['1', '2', '4', '5']

作业循环队列

  1. arr = [];
  2. for(let i = 0; i < 5; i++){
  3. arr.push(i);
  4. console.log(arr)
  5. let c = arr.pop()
  6. arr.unshift(c)
  7. }
  8. console.log(arr) //[4, 3, 2, 1, 0]

作业2

  1. //作业2
  2. //at()接收一个整数值并返回该索引对应的元素,允许正数和负数。负整数从数组中的最后一个元素开始倒数。
  3. arr = ['1','2','3','4','5']
  4. console.log(arr.at(2)) //3
  5. console.log(arr.at(-2)) //4
  6. //toString() 返回一个字符串,表示指定的字符串
  7. console.log(arr.toString())
  8. //trim() 从字符串的两端清除空格,返回一个新的字符串
  9. const greeting = ' Hello world! ';
  10. console.log(greeting.trim())

数组常用的方法-2

  1. // 1. 键,值,键值对
  2. arr = [1,2,3,4]
  3. //输出
  4. // 0键: 1值
  5. // 1: 2 键值对
  6. // arr.keys() 键
  7. // console.log(arr.keys())
  8. for(let item of arr.keys()){
  9. console.log(item)
  10. }
  11. console.log("=========================");
  12. // arr.values() 值
  13. // console.log(arr.values())
  14. for(let item of arr.values()){
  15. console.log(item)
  16. }
  17. console.log("=========================");
  18. // arr.entries() 键值对
  19. // console.log(arr.entries())
  20. for(let item of arr.entries()){
  21. console.log(item)
  22. }
  23. console.log("=========================");
  24. // 2. 获取子元素
  25. // arr.slice()
  26. // 返回: 包含起始索引值,但不包括结束索引的值组成的新数组
  27. console.log(arr.slice(1,3)) //[2,3]
  28. // 3. 数组的增删改
  29. // 返回被删除的元素,原数组被改变
  30. // 有三个参数
  31. // 3.1 删除元素
  32. // 1: 起始位置
  33. // 2: 删除数量
  34. // 3: 附加元素,可选
  35. console.log(arr.splice(1,1))
  36. console.log(arr)
  37. // 3.2 添加操作
  38. // 第2个参数为0:表示不删除
  39. console.log(arr.splice(1,0,'a','b','c'))
  40. console.log(arr) //[1, 'a', 'b', 'c', 3, 4]
  41. // 3.3 更新操作
  42. // 1. 删除 2. 添加
  43. // 先删除1个,在原位置上再添加2个新元素,实现更新
  44. console.log(arr.splice(1,1,'new1','new2','new3'))
  45. console.log(arr) //[1, 'new1', 'new2', 'new3', 'b', 'c', 3, 4]
  46. // 4. 排序 sort 可传入自定义函数
  47. arr = [5,10,6,58,4];
  48. // 小到大
  49. console.log(arr.sort((a,b) =>a-b))
  50. //大到小
  51. console.log(arr.sort((a,b) =>b-a))

数组常用的方法-3

  1. // 数组回调
  2. // 1. 遍历 forEach / map
  3. // forEach 无返回值 map 有返回值
  4. arr.forEach((item)=>console.log(item*2))
  5. let res = arr.map(item => item*2)
  6. console.log(res)
  7. // 2. every :所有成员要满足条件才返回true
  8. // some: 只要有一个满足就返回true
  9. console.log(arr.every(item => item > 0))
  10. console.log(arr.some(item => item > 10))
  11. // 3. filter / find
  12. // 返回满足条件的元素组成的新数组
  13. // 获取第一个满足条
  14. res = arr.find(item => item >= 0)
  15. console.log(arr)
  16. console.log(res)
  17. // 获取最后个满足条
  18. res = arr.findLast(item => item>=0)
  19. console.log(res)
  20. // 获取第一个满足条件的索引
  21. res = arr.findIndex(item => item>=0)
  22. console.log(res)
  23. // 获取最后一个满足条的索引
  24. // 先拿到最后一个元素的值,再根据这个值来获取对应的索引
  25. let value = arr.findLast(item => item >= 0)
  26. res = arr.lastIndexOf(value)
  27. console.log(res)
  28. // 4. 累加器 reduce(callback,init)
  29. // 语法: reduce(function(前一个值,当前一个值){
  30. // ...
  31. // 最终的累加结果 ,由前一个值返回
  32. //})
  33. res = arr.reduce(function(prev,curr){
  34. return prev + curr
  35. },20)
  36. console.log(res)

总结

1. 访问器属性

  1. getter
  2. setter

2. 字符串常用方法

  1. str.length
  2. str.search()
  3. str.replace()
  4. str.slice()
  5. str.substr()
  6. str.split()
  7. str.toLowerCase()
  8. str.toUpperCase()

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String

3. 数组的常用方法

  1. arr.push()/arr.pop()
  2. arr.unshift()/arr.shift()
  3. arr.keys()/arr.values()/arr.entries()
  4. arr.slice()
  5. arr.splice()
  6. arr.sort()
  7. arr.forEach()/arr.map()
  8. arr.some()/arr.every()
  9. arr.filter()/find()/findLast()/findIndex()
  10. arr.reduce()

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议