字符串用法大全

字符串的不可变性

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>字符串的不可变性</title><script>// 字符串的不可变性var str = 'andy';console.log(str);str = 'red';console.log(str);// 因为我们字符串的不可变所以不要大量的拼接字符串var str = '';for (var i = 1; i <= 10000; i++) {str += i;}console.log(str);</script>
</head><body></body></html>

字符串对象

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>字符串对象</title><script>// 字符串对象  根据字符返回位置  str.indexOf('要查找的字符', [起始的位置])var str = '改革春风吹满地,春天来了';console.log(str.indexOf('春'));console.log(str.indexOf('春', 3)); // 从索引号是 3的位置开始往后查找</script>
</head><body></body></html>

查找字符串某个字符出现的次数

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>查找字符串某个字符出现的次数</title><script>// 查找字符串"abcoefoxyozzopp"中所有o出现的位置以及次数// 核心算法:先查找第一个o出现的位置// 然后 只要indexOf 返回的结果不是 -1 就继续往后查找// 因为indexOf 只能查找到第一个,所以后面的查找,一定是当前索引加1,从而继续查找var str = "oabcoefoxyozzopp";var index = str.indexOf('o');var num = 0;//console.log(index);while (index !== -1) {console.log(index);num++;index = str.indexOf('o', index + 1);  //只要indexOf 返回的结果不是 -1 就继续往后查找}console.log('o出现的次数是: ' + num);// 课后作业 ['red', 'blue', 'red', 'green', 'pink','red'], 求 red 出现的位置和次数</script>
</head><body></body></html>

根据位置返回字符

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>根据位置返回字符</title><script>// 根据位置返回字符// 1. charAt(index) 根据位置返回字符var str = 'andy';console.log(str.charAt(3));// 遍历所有的字符for (var i = 0; i < str.length; i++) {console.log(str.charAt(i));}// 2. charCodeAt(index)  返回相应索引号的字符ASCII值 目的: 判断用户按下了那个键 console.log(str.charCodeAt(0)); // 97// 3. str[index] H5 新增的console.log(str[0]); // a</script>
</head><body></body></html>

统计出现最多的字符和次数

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>统计出现最多的字符和次数</title><script>// 有一个对象 来判断是否有该属性 对象['属性名']var o = {age: 18}if (o['sex']) {console.log('里面有该属性');} else {console.log('没有该属性');}//  判断一个字符串 'abcoefoxyozzopp' 中出现次数最多的字符,并统计其次数。// o.a = 1// o.b = 1// o.c = 1// o.o = 4// 核心算法:利用 charAt() 遍历这个字符串// 把每个字符都存储给对象, 如果对象没有该属性,就为1,如果存在了就 +1// 遍历对象,得到最大值和该字符var str = 'abcoefoxyozzopp';var o = {};for (var i = 0; i < str.length; i++) {var chars = str.charAt(i); // chars 是 字符串的每一个字符  根据位置返回字符if (o[chars]) {    // o[chars] 得到的是属性值o[chars]++;} else {o[chars] = 1;}}console.log(o);// 2. 遍历对象var max = 0;var ch = '';for (var k in o) {// k 得到是 属性名// o[k] 得到的是属性值if (o[k] > max) {max = o[k];ch = k;}}console.log(max);console.log('最多的字符是' + ch);</script>
</head><body></body></html>

字符串操作方法(字符串拼接、截取)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>字符串操作方法(字符串拼接、截取)</title><script>// 字符串操作方法// 1. concat('字符串1','字符串2'....)var str = 'andy';console.log(str.concat('red'));  //字符串拼接// 2. substr('截取的起始位置', '截取几个字符');var str1 = '改革春风吹满地';console.log(str1.substr(2, 2)); // 第一个2 是索引号的2 从第几个开始  第二个2 是取几个字符</script>
</head><body></body></html>

字符串(替换字符,转换为数组)

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>字符串(替换字符,转换为数组)</title><script>// 1. 替换字符 replace('被替换的字符', '替换为的字符')  它只会替换第一个字符var str = 'andyandy';console.log(str.replace('a', 'b'));// 有一个字符串 'abcoefoxyozzopp'  要求把里面所有的 o 替换为 *var str1 = 'abcoefoxyozzopp';while (str1.indexOf('o') !== -1) {str1 = str1.replace('o', '*');}console.log(str1);// 2. 字符转换为数组 split('分隔符')    前面我们学过 join 把数组转换为字符串var str2 = 'red, pink, blue';console.log(str2.split(','));var str3 = 'red&pink&blue';console.log(str3.split('&'));</script>
</head><body></body></html>

字符串用法大全(源码解析,建议收藏!)相关推荐

  1. Java 动态代理详解 ( 附示例源码,建议收藏)

    动态代理在Java中有着广泛的应用,比如Spring AOP.Hibernate数据查询.测试框架的后端mock.RPC远程调用.Java注解对象获取.日志.用户鉴权.全局性异常处理.性能监控,甚至事 ...

  2. DeepLink用法及源码解析

    终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 1. 简介 DeepLink官网上有这样的解释: When a ...

  3. require用法及源码解析

    一.require()的基本用法 require语句内部逻辑: 当 Node 遇到 require(X) 时,按下面的顺序处理. (1)如果 X 是内置模块(比如 require('http'))  ...

  4. MultiDex 不得不说的用法与源码解析

    前言   开发Android应用或者SDK方向小伙伴们,经过多版本的迭代,新功能的不断增加,依赖多个开源项目,使用第三方SDK,都会导致Apk大小急速膨胀.最终会导致方法超限这一问题,下面让大家了解下 ...

  5. 半小时实现Java手撸Http协议,爽!!(附完整源码,建议收藏)

    大家好,我是冰河~~ 很多小伙伴跟我说,学习网络太难了,怎么办?其实很多技术都是相通的,只要你理解了技术的本质,你自己都可以实现它.这不,冰河就趁着周末,只用了几个Java类就简单的实现了Http协议 ...

  6. python时间序列可视化_TOP50 Python可视化经典案例下(附源码,建议收藏)

    昨天行哥给大家统计了数据可视化前30张图表代码和案例给大家,今天把分享Python可视化案例TOP 50下,如果想转行做数据分析,这两篇推文强烈建议收藏,对于学习有任何问题都可以点击阅读原文向行哥提问 ...

  7. 重回童年的经典系列☀️|【贪吃蛇小游戏】近两万字完整制作过程+解析+源码 【建议收藏学习】

  8. 经典python项目源码_建议收藏,22个Python迷你项目(附源码)

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

  9. 新手小白可做的22个Python迷你项目(附源码),建议收藏练习

    给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示,自己构建解决方法,提高编程水平. ① 骰子模拟器 目的:创建一个程序来模拟掷骰子. 提示:当用户 ...

  10. python实战:22个Python迷你项目(附源码)【建议收藏】

    在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...

最新文章

  1. vue foreach用法_两年前端er,JS和Vue,面试被问了哪些问题呢?有点简单啊
  2. 月饼怎么吃才不胖,数据分析师教你选月饼
  3. git pull命令执行时,命令框不可操作的问题
  4. VC下设置Excel单元格的边框
  5. java 高并发im_java高并发(四)并发编程与线程安全
  6. SpringBoot私人学习笔记
  7. django模板-if标签、for标签、自定义标签和过滤器
  8. Python的包管理工具
  9. 矩形窗函数rect()和辛格函数sinc()是一组傅里叶变换对相关公式证明
  10. SPF(最短路径树)算法
  11. 使用css3实现一个超浪漫的新年倒计时
  12. 创建一个Student 类 包含属性有 序号 姓名 年龄 生日 提供对应的setter/getter 创建对象,完成赋值(setter赋值和构造方法赋值) 在控制台输出学生对象的信息
  13. 微信支付-APP支付
  14. FE!FE!面板固定效应模型:你用对了吗
  15. 【程序设计】Java基本语法练习题
  16. 远程连接mysql出现ERROR 1130 (HY000): Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server
  17. 组队学习-free_excel-知识点和作业汇总
  18. 用Python爬取并分析了B站最热排行榜,我发现了这些秘密
  19. Hadoop权威指南——关于Sqoop
  20. 微信小程序 | 基于小程序+Java+WebSocket实现实时聊天功能

热门文章

  1. sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION问题解决
  2. Asp.NET MVC 技术参考:http://kb.cnblogs.com/zt/mvc/
  3. .Net程序集强签名详解
  4. 配置远程登陆交换机方法
  5. Tomcat服务安全加固和优化
  6. 在CentOS 7中安装PHP5和PHP7需要的插件
  7. php 瓶颈,追踪php代码性能瓶颈
  8. nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
  9. Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案
  10. 解决krpano全景视频在QQ浏览器、安卓不能正常播放的问题