字符串和运算符

本文介绍了JavaScript中的字符串操作,包括indexOf和lastIndexOf查询字符位置、字符串去重、截取方法如substring、slice和substr,以及字符串的大小写转换、分割、空格去除和替换。此外,还探讨了关于'=='的隐式转换和各种运算符的分类及用法,如算数、比较、逻辑和赋值运算符。
摘要由CSDN通过智能技术生成

字符串

声明字符串

// 字变量
var str = '字符串' 

// 使用 new 关键字 
var str = new String('aaa') 

// 直接使用 String()
var str = String('bbbb') 

字符串有长度和下标,时可读不可写的

console.log(str[0]); // 小标取出对应的字符
console.log(str.charAt(0)); // 小标取出对应的字符
console.log(str.charCodeAt(0)); // 104 根据下标取出来对应字符的asciii码表的码值

indexOf

语法:

字符串.indexOf('检索的字符', index)
// 第一个参数:检索的字符
// 第二个参数index: 检索字符的时候的起始位置 指的是下标值

可以返回某个指定的字符在字符串中的首次出现的位置

index是可选的整数参数,规定字符串中开始检索的位置,合法取值范围,字符串.lengrh - 1

如果省略了index这个参数,字符串从第一个字符开始检索

如果找不到检索的字符,返回-1

var str = 'abcdefgcdfer'

var n = str.indexOf('c') // 2
var n1 = str.indexOf('cde') // 2
var n2 = str.indexOf('cde1') // -1 
var n3 = str.indexOf('c', 3) // -1
var str = '我小王就小王是小王我小王 不小王一样小王的小王'
// var str1 = '小王'
// var n = str.indexOf(str1, str1.length + 1)
// console.log(n);

/*   var n = str.indexOf('小王'); // 1 
  while (n !== -1) {
      console.log(n);
      n = str.indexOf('小王', n + 2)
  } */

fn(str, '小王')

function fn (str, val) {
    var n = str.indexOf(val) // 1 
    while (n !== -1) {
        console.log(n); // 1
        n = str.indexOf(val, n + val.length)
    }
}
查询字符串出现的次数
var str1 = 'qweooortooooyuoiasooodfoooghjooooosdoooofgoooohjooozxcvbooo' 
var num = 0
// 计算字符串 str1中字母 o 出现的次数
var index = str1.indexOf('o') 
while (index !== -1) {
    console.log(index); 
    num++
    index = str1.indexOf('o',index + 1)
}

console.log('o出现的次数:' + num);

lastIndexOf

语法:

字符串.lastIndexOf('检索的字符', index)
// 第一个参数:检索的字符
// 第二个参数index: 检索字符的时候的起始位置 指的是下标值

可以返回某一个指定的字符再字符串中的首次出现的位置

index是可选整数参数,规定字符串中开始检索的位置 合法取值范围 字符串.length - 1

如果略了index这个参数,字符串从第一个字符开始检索

如果找不到检索字符,返回-1

区别

  • indexOf是从前往后查找

  • lastIndexOf是从后往前查找

var str2 = '我小王就小王是小王我小王 不小王一样小王的小王'
var n2 = str2.lastIndexOf('小王')
var n3 = str2.lastIndexOf('小王', 9)

console.log(n2); // 21 
console.log(n3); // 7 

字符串去重

var str1 = '12331212331212332112331qweooortooooyuoiasooodfoooghjooooosdoooofgoooohjooozxcvbooo'

var str = ''; // 用来存储 从 st1中取出来的字符  是字母
var num = ''; // 用来存储 从 st1中取出来的字符 是数字

/* for (var i = 0; i < str1.length; i++) {
    var v = str1[i] // v 始终只有一个字符
    if (str.indexOf(v) === -1) {
        str += v
    }
}
console.log(str); */


for (var i = 0; i < str1.length; i++) {
    var v = str1[i] // v 始终只有一个字符
    if (v.charCodeAt(0) >= 48 && v.charCodeAt(0) <= 57 && num.indexOf(v) === -1) {
        num += v
    }

    if (v.charCodeAt(0) >= 97 && v.charCodeAt(0) <= 122 && str.indexOf(v) === -1) {
        str += v
    }
}

console.log(num + str);

var str = "123123";
      var num = "";
      for (var j = 0; j < str.length; j++) {
        for (var i = j + 1; i < str.length; i++) {
          if (str[j] === str[i]) {
         
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值