JavaScript基础第六天(续)

数组索引:
indexOf() 数组中查找给定元素的第一个索引 ,存在就返回索引号,不存在返回-1
lastIndexOf ()在数组中的最后一个索引,存在返回索引号,不存在返回-1

//indexOf(数组元素)   如果被查找的元素有多个,返回第一个元素的索引
    let arr = ['小王','小明','小红','小白','小青','小明']
    // console.log(arr.indexOf('小白'))
    // console.log(arr.indexOf('小黑'))
    console.log(arr.indexOf('小明'))

    //lastIndexOf(数组元素)    从数组后面开始查找元素
    console.log(arr.lastIndexOf('小明'))

数组去重:

function getArr(){
        let arr = ['c','a','z','a','x','a','x','c','b']
        let arr1 = []
        for(let i = 0;i<arr.length;i++){
            if(arr1.indexOf(arr[i])===-1){
                arr1.push(arr[i])
            }
        }
        console.log(arr1)
    }
    getArr()

数组换为字符串
可以用toString()将数组转为字符串,逗号分隔每一项
join(‘分隔符’) 可以将数组中的所有元素转为字符串

其他方法:

方法说明
concat()连接多个数组
slice()数组截取slice(begin,end)
splice()数组删除splice(第几个开始,要删除个数)

1.5字符串对象

//查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数
    //1、不知道循环次数使用while
    let str = 'abcoefoxyozzopp'
    let index = str.indexOf('o')  //第一个o出现的位置
    // index = str.indexOf('o',index+1)

    let count = 0 //o的次数
    while(index !== -1){
        console.log('位置:' + index)
        count++
        index = str.indexOf('o',index+1)

    }
    console.log('共出现次数:' + count)
方法名说明
charAt(index)返回指定位置的字符(index字符串的索引号)
charCodeAt(index)获取指定位置处字符的ASCII码(index索引)
str[index]获取指定位置处字符

案例:判断一个字符串 ‘abcoefoxyozzopp’ 中出现次数最多的字符,并统计其次数

  1. 核心算法:利用 charAt() 遍历这个字符串
  2. 把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1
    1. 遍历对象,得到最大值和该字符
      注意:在遍历的过程中,把字符串中的每个字符作为对象的属性存储在对象总,对应的属性值是该字符出现的次数

      let str = ‘abcoefoxyozzopp’

      let obj = {}

      for (let i = 0; i < str.length; i++) {
      let ch = str.charAt(i) //索引对应的字符
      if(obj[ch]){
      obj[ch]++
      }else{
      obj[ch] = 1
      }
      }

      console.log(obj)
      //遍历对象
      let max = 0
      let ch = ‘’
      for (let key in obj) {
      // key是属性名 obj[key]
      if(obj[key]>max){
      max = obj[key]

            ch = key
        }
      

      }
      console.log(‘出现最多的字符是:’ + ch + ‘,出现了’ + max + ‘次’)

//1、concat() 字符串拼接

    let str = 'heeh'
    console.log(str.concat('haha'))

//2、substr(n,m) 截取字符串 n:从第几个开始截取(包含) m:截取多少个

    let str1 = '人生若只如初见,何事秋风悲画扇'
    console.log(str1.substr(8,7))

replace()方法
字符串.replace(被替换的字符串, 要替换为的字符串);

split()方法
字符串.split(“分割字符”)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

春花.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值