字符串用法大全(源码解析,建议收藏!)
字符串用法大全
字符串的不可变性
<!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>
字符串用法大全(源码解析,建议收藏!)相关推荐
- Java 动态代理详解 ( 附示例源码,建议收藏)
动态代理在Java中有着广泛的应用,比如Spring AOP.Hibernate数据查询.测试框架的后端mock.RPC远程调用.Java注解对象获取.日志.用户鉴权.全局性异常处理.性能监控,甚至事 ...
- DeepLink用法及源码解析
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 1. 简介 DeepLink官网上有这样的解释: When a ...
- require用法及源码解析
一.require()的基本用法 require语句内部逻辑: 当 Node 遇到 require(X) 时,按下面的顺序处理. (1)如果 X 是内置模块(比如 require('http')) ...
- MultiDex 不得不说的用法与源码解析
前言 开发Android应用或者SDK方向小伙伴们,经过多版本的迭代,新功能的不断增加,依赖多个开源项目,使用第三方SDK,都会导致Apk大小急速膨胀.最终会导致方法超限这一问题,下面让大家了解下 ...
- 半小时实现Java手撸Http协议,爽!!(附完整源码,建议收藏)
大家好,我是冰河~~ 很多小伙伴跟我说,学习网络太难了,怎么办?其实很多技术都是相通的,只要你理解了技术的本质,你自己都可以实现它.这不,冰河就趁着周末,只用了几个Java类就简单的实现了Http协议 ...
- python时间序列可视化_TOP50 Python可视化经典案例下(附源码,建议收藏)
昨天行哥给大家统计了数据可视化前30张图表代码和案例给大家,今天把分享Python可视化案例TOP 50下,如果想转行做数据分析,这两篇推文强烈建议收藏,对于学习有任何问题都可以点击阅读原文向行哥提问 ...
- 重回童年的经典系列☀️|【贪吃蛇小游戏】近两万字完整制作过程+解析+源码 【建议收藏学习】
- 经典python项目源码_建议收藏,22个Python迷你项目(附源码)
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...
- 新手小白可做的22个Python迷你项目(附源码),建议收藏练习
给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示,自己构建解决方法,提高编程水平. ① 骰子模拟器 目的:创建一个程序来模拟掷骰子. 提示:当用户 ...
- python实战:22个Python迷你项目(附源码)【建议收藏】
在使用Python的过程中,我最喜欢的就是Python的各种第三方库,能够完成很多操作. 下面就给大家介绍22个通过Python构建的项目,以此来学习Python编程. 大家也可根据项目的目的及提示, ...
最新文章
- vue foreach用法_两年前端er,JS和Vue,面试被问了哪些问题呢?有点简单啊
- 月饼怎么吃才不胖,数据分析师教你选月饼
- git pull命令执行时,命令框不可操作的问题
- VC下设置Excel单元格的边框
- java 高并发im_java高并发(四)并发编程与线程安全
- SpringBoot私人学习笔记
- django模板-if标签、for标签、自定义标签和过滤器
- Python的包管理工具
- 矩形窗函数rect()和辛格函数sinc()是一组傅里叶变换对相关公式证明
- SPF(最短路径树)算法
- 使用css3实现一个超浪漫的新年倒计时
- 创建一个Student 类 包含属性有 序号 姓名 年龄 生日 提供对应的setter/getter 创建对象,完成赋值(setter赋值和构造方法赋值) 在控制台输出学生对象的信息
- 微信支付-APP支付
- FE!FE!面板固定效应模型:你用对了吗
- 【程序设计】Java基本语法练习题
- 远程连接mysql出现ERROR 1130 (HY000): Host ‘xxx.xxx.xxx.xxx’ is not allowed to connect to this MySQL server
- 组队学习-free_excel-知识点和作业汇总
- 用Python爬取并分析了B站最热排行榜,我发现了这些秘密
- Hadoop权威指南——关于Sqoop
- 微信小程序 | 基于小程序+Java+WebSocket实现实时聊天功能
热门文章
- sql-mode=STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION问题解决
- Asp.NET MVC 技术参考:http://kb.cnblogs.com/zt/mvc/
- .Net程序集强签名详解
- 配置远程登陆交换机方法
- Tomcat服务安全加固和优化
- 在CentOS 7中安装PHP5和PHP7需要的插件
- php 瓶颈,追踪php代码性能瓶颈
- nodejs连接mysql数据库,报错Client does not support authentication protocol requested by server的解决方法
- Vmware由于centos升级内核不可运行(C header files matching your running kernel were not found)的解决方案
- 解决krpano全景视频在QQ浏览器、安卓不能正常播放的问题