文章目录

  • ==对象方法==
    • ++搜索、索引
      • `indexOf() ` :搜索首个字符串出现的位置
      • `lastIndexOf() `:搜索最后出现的字符串位置
      • `includes() `:搜索判断字符串是否包含指定的子字符串
      • `charAt() `:搜索返回指定位置的字符
    • ++截取、提取
      • `substring()`:返回指定索引区间的字符串
      • `slice()` :提取字符串的某个部分,并且返回的字符串是新的
      • `substr()` :抽取指定下标到指定数目长度的字符串
    • ++拼接
      • `concat()` :抽取指定下标到指定数目长度的字符串
    • ++替换
      • `replace()` :用一些字符替换另一些字符或替换一个与正则表达式匹配的子串。
    • ++转换
      • `toString()` :返回一个表示 String 对象的值。
      • `toUpperCase()` :把字符串转换为大写。
      • `toLowerCase()` :把字符串转换为小写。
    • ++分割成数组
      • `split() `:把一个字符串分割成字符串数组
  • ==需要看更多?==
    • ++[菜鸟教程字符串操作方法合集地址](https://www.runoob.com/jsref/jsref-obj-string.html)
    • ++[w3school字符串操作方法合集地址](https://www.w3school.com.cn/jsref/jsref_obj_string.asp)
  • ==练手试题==
    • ++ 字符串字符统计(牛客网)
    • ++ 时间格式化输出(牛客网)
  • ==项目中遇到过==
  • ==数组操作对象方法==

对象方法

++搜索、索引

indexOf() :搜索首个字符串出现的位置

var str = 'hi weianl    !哈哈哈';
str.indexOf('h'); // 返回0,从0开始
str.indexOf('i'); // 返回1,首个字符串
str.indexOf('weianl'); // 返回3,空格键占1
str.indexOf('!'); // 返回13,Tab键占4
str.indexOf('233'); //返回-1,未找到
lastIndexOf():搜索最后出现的字符串位置

var str = '赏花赏月赏秋香';
str.lastIndexOf('赏')//返回4,下标从左边0开始数起
includes():搜索判断字符串是否包含指定的子字符串

var str = '哇拷I服了YOU';
str.includes('I')//true
str.includes('i')//区分大小写false
str.includes('I',3)//指定位置开始搜索,未找到返回false,
charAt():搜索返回指定位置的字符

var str = "做人如果没梦想,跟咸鱼有什么分别。";
str.charAt(5)//返回'梦'

++截取、提取

substring():返回指定索引区间的字符串

substring()返回的字符串是原有的,参数一为开始下标(必需,一个非负的整数);参数二为结束下标(可选,一个非负的整数);


var s = '其实我是个演员';
s.substring(0, 2); // 从索引0开始到2(不包括2),返回'其实'
s.substring(5); // 从索引5开始到结束,返回'演员'
s.substring(5,7); // 下标超出后不报错,返回'演员'
s.substring(2, 0); // 反着写也可以,返回'其实'
s.substring(2, -1); // 下标为负数直接忽略为,返回'其实'
s.substring(-1, 2); // 下标为负数直接忽略为,返回'其实'
slice() :提取字符串的某个部分,并且返回的字符串是新的

slice()返回的字符串是新的,参数一为开始下标(必需,一个非负的整数);参数二为结束下标(可选,一个整数,可已是负)


var str='如花!真的是你!';
str.slice(0,3); //从索引0开始到2(不包括2),返回'如花!'
str.slice(3);// 从索引3开始到结束,返回'真的是你!'
str.slice(3,8);//下标超出后不报错,返回'真的是你!'
str.slice(3,0);//输出值为空
str.slice(3,-1);//负数下标从右边数起,返回'真的是你'
str.slice(-1,3);//输出值为空
substr() :抽取指定下标到指定数目长度的字符串

substr()可传两个参数,参数一为开始下标(如果是负数,那么该参数声明从字符串的尾部开始算起的位置);参数二为截取长度(可选。子串中的字符数,正整数)


var str ='别以为你长得帅我就不打你';
str.substr(4,3)//从索引4开始取3位,返回'长得帅'
str.substr(-2)//负数下标从右边数起,返回'打你'
str.substr(-8,3)//,下标负时长度无效了,返回'长得帅我就不打你'

++拼接

concat() :抽取指定下标到指定数目长度的字符串

var str1 ='你可以叫我跑龙套的,'
var str2 ='但是请不要在前面加个“死”字好不好?'
var str3 ='哼,你个死跑龙套的。'
str1.concat(str2);//返回'你可以叫我跑龙套的,但是请不要在前面加个“死”字好不好?'
str1.concat(str2,str3);//返回'你可以叫我跑龙套的,但是请不要在前面加个“死”字好不好?哼,你个死跑龙套的。'

++替换

replace() :用一些字符替换另一些字符或替换一个与正则表达式匹配的子串。

var str = '我爱你!如果非要给这份爱加上一个期限,我希望是,一万年!'
str.replace('我爱你','我钟意你')
//返回"我钟意你!如果非要给这份爱加上一个期限,我希望是,一万年!"str.replace('一','1')
//只匹配首个,返回"我爱你!如果非要给这份爱加上1个期限,我希望是,一万年!"//正则表达
str.replace(/一/g,"1");
//"我爱你!如果非要给这份爱加上1个期限,我希望是,1万年!"

++转换

toString() :返回一个表示 String 对象的值。

//数字转换为字符串。
var num=727;
typeof(num) //"number"
num.toString()//"727"字符串
typeof(num.toString())//"string"//数组转换成字符串
var fruits = ["Apple","Banana", "Mango","Orange"];
fruits.toString();//返回字符串"Apple,Banana,Mango,Orange"//进制转换
var num = 10; //默认10进制数字
num.toString(10)//转换成十进制,返回字符串"10"
num.toString(2)//转换成而进制,返回字符串"1010"
num.toString(8)//转换成八进制,返回字符串"12"
num.toString(16)//转换成十进制,返回字符串"a"//toString返回的是字符串,要转成数字用parseInt(num)
toUpperCase() :把字符串转换为大写。

var str='WeianL';
str.toUpperCase()//返回'WEIANL'
toLowerCase() :把字符串转换为小写。

var str='WeianL';
str.toLowerCase()//返回'weianl'

++分割成数组

split():把一个字符串分割成字符串数组

//直接分割
var str = '我左青龙,右白虎,老牛在腰间,龙头在胸口,人挡杀人,佛挡杀佛!'
str.split('')
/*
**  返回
**  ["我", "左", "青", "龙", ",", "右", "白", "虎", ","
**  ,"老", "牛", "在", "腰", "间", ",", "龙", "头", "在", "胸", "口", ","
**  ,"人", "挡", "杀", "人", ",", "佛", "挡", "杀", "佛", "!"]
*/
//以逗号分割
str.split(',')//返回["我左青龙", "右白虎", "老牛在腰间", "龙头在胸口", "人挡杀人", "佛挡杀佛!"]//第二个参数为返回的长度
str.split(',',2)//返回["我左青龙", "右白虎"]//以空格分割
var str = '我左青龙 右白虎 老牛在腰间 龙头在胸口 人挡杀人 佛挡杀佛!'
str.split(' ')//返回["我左青龙", "右白虎", "老牛在腰间", "龙头在胸口", "人挡杀人", "佛挡杀佛!"]

需要看更多?

++菜鸟教程字符串操作方法合集地址

++w3school字符串操作方法合集地址

练手试题

题目、答案拷自牛客网,答案不是最简的,不过刚好可以运用到JS对象方法。

++ 字符串字符统计(牛客网)

题目描述:

统计字符串中每个字符的出现频率,返回一个 Object,key 为统计字符,value 为出现频率

  1. 不限制 key 的顺序
  2. 输入的字符串参数不会为空
  3. 忽略空白字符

输入:

‘hello world’

输出:

{h: 1, e: 1, l: 3, o: 2, w: 1, r: 1, d: 1}

答案:(需要更多?)


function count(str) {//用正则表达式去除空白符var newStr = str.replace(/\s/g,"");//console.log(newStr) //helloworldvar res={};for(var i=0 ; i<newStr.length; i++){//循环字符串,判断是否已存在对象中if(newStr.charAt(i) in res){res[newStr.charAt(i)]++;} else{res[newStr.charAt(i)] = 1;}}return res;
}
count('hello world')

++ 时间格式化输出(牛客网)

题目描述:

按所给的时间格式输出指定的时间
格式说明
对于 2014.09.05 13:14:20
yyyy: 年份,2014
yy: 年份,14
MM: 月份,补满两位,09
M: 月份, 9
dd: 日期,补满两位,05
d: 日期, 5
HH: 24制小时,补满两位,13
H: 24制小时,13
hh: 12制小时,补满两位,01
h: 12制小时,1
mm: 分钟,补满两位,14
m: 分钟,14
ss: 秒,补满两位,20
s: 秒,20
w: 星期,为 [‘日’, ‘一’, ‘二’, ‘三’, ‘四’, ‘五’, ‘六’] 中的某一个,本 demo 结果为 五

输入:

formatDate(new Date(1409894060000), ‘yyyy-MM-dd HH:mm:ss 星期w’)

输出:

2014-09-05 13:14:20 星期五

答案:(需要更多?)

function formatDate(t,str){var obj = {yyyy:t.getFullYear(),yy:(""+ t.getFullYear()).slice(-2),M:t.getMonth()+1,MM:("0"+ (t.getMonth()+1)).slice(-2),d:t.getDate(),dd:("0" + t.getDate()).slice(-2),H:t.getHours(),HH:("0" + t.getHours()).slice(-2),h:t.getHours() % 12,hh:("0"+t.getHours() % 12).slice(-2),m:t.getMinutes(),mm:("0" + t.getMinutes()).slice(-2),s:t.getSeconds(),ss:("0" + t.getSeconds()).slice(-2),w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()]};return str.replace(/([a-z]+)/ig,function($1){return obj[$1]});
}formatDate(new Date(1409894060000), 'yyyy-MM-dd HH:mm:ss 星期w')
//"2014-09-05 13:14:20 星期五"

项目中遇到过

JS查询字符串的某几个字给它添加样式、标签、字符串

数组操作对象方法

JavaScript常用的数组操作对象方法

JavaScript常用的字符串操作对象方法相关推荐

  1. JavaScript学习笔记——underscore操作对象的方法

    var obj = {a:'aaa',b:'bbb',c:'ccc'}; 1._.keys(obj)获取对象的所有属性名称 2._.values(obj)获取对象的所有属性值 3._.extend(d ...

  2. JavaScript中的字符串操作(转)

    http://www.cnblogs.com/xuebin/articles/1296837.html 最近编一个javascript的翻译程序,发现无法正确比较两个字符串的相等,上网查了查,发现这篇 ...

  3. 前端之 JavaScript 常用数据类型和操作

    JavaScript 常用数据类型有:数字.字符串.布尔.Null.Undefined.对象 JavaScript 拥有动态类型 JavaScript 拥有动态类型.这意味着相同的变量可用作不同的类型 ...

  4. [记录] JavaScript 中的字符串操作

    字符串原型: 通过修改字符串的原型,可以为所有字符串添加公共方法 String.prototype.startwith = function(text) {return this.indexOf(te ...

  5. javascript 常用的数组操作

    join() Array.join(/* optional */ separator) 将数组转换为字符串,可带一个参数 separator (分隔符,默认为","). 与之相反的 ...

  6. JavaScript中的类方法、对象方法、原型方法

    类方法:也叫函数方法,在JavaScript中函数也是一个对象,所以可以为函数添加属性以及方法: 对象方法:包括构造函数中的方法以及其原型上面的方法: 原型方法:一般用于对象实例共享,在原型上面添加该 ...

  7. c语言中空格字符怎么表示_C语言中常用的字符串操作函数

    作者:陈太浪 出处:https://home.cnblogs.com/u/TomHe789/ C语言中提供了许多的字符串操作函数,常见的字符串操作函数有以下几种: 1.求字符串长度的函数 原型函数:s ...

  8. java 中字符串比较方法_java中常用的字符串的比较方法(两种)

    比较字符串比较常用的两个方法是运算符"="和String的equals方法. 使用"="比较两个字符串,是比较两个对象的的"地址"是否一致, ...

  9. javascript 常用的dom操作及源生事件

    javascript dom操作及源生事件 获取dom节点 操作dom节点 源生事件 -- 绑定.解除事件 源生事件 -- 事件派送 获取dom节点 document.getElementById() ...

最新文章

  1. eclipse 默认jdk 的设置 eclipse.ini -vm 参数
  2. vc6.0能编辑html,科学网—VC6.0的18个实用小技巧 - 梁才的博文
  3. sql server解析xml属性为表格_[Mybatis][基础支持层]mapper xml sql 解析
  4. c#中的接口的定議以及接口與抽象类的區別
  5. 手把手教你用EVO工具评估SLAM数据集TUM、KITTI、EuRoC(附代码)
  6. C51存储器类型与51单片机的物理区域
  7. 东风来了的飞鸽传书源码
  8. 数据库中的DbUtils
  9. 设计素材|剪纸风新年春节烫金PSD分层模板,牛气!
  10. python 网络请求框架_python 框架
  11. ORA-16009: 远程归档日志目标必须为备用数据库
  12. WebRTC NAT穿透服务器 coturn服务搭建
  13. Vuforia+Unity实现AR效果
  14. MQTT服务器的搭建与MQTT客户端的使用
  15. 计算机管理用房设置要求,党政机关办公用房管理系统解决方案
  16. JAVA 三个框架结合运用思路_SSM框架的整合与使用——实现简单的转账系统
  17. 对于Gitlab项目的Developer权限问题 (Guest,Reporter,Developer,Maintainer)
  18. 企业邮箱品牌哪家好?四大品牌企业邮箱推荐
  19. 来自华为Mate X的灵魂拷问:怎么贴膜?
  20. 华为云服务器EulerOS镜像源设置方法

热门文章

  1. 检测样本分布是不是正态分布,绘制其正态分布概率图及异常值检测-python代码实现
  2. 解决Android Studio 安装APK时device support,but apk only supports armeabi-v7 问题
  3. python自定义函数实例 lite_python 函数小实例
  4. 第一次参加kaggle比赛的一些收获与心得,记录一下
  5. 人脸识别助力网络支付实名制落地推进
  6. react项目中使用sass
  7. STM32F207ZG GPIO口学习
  8. 【数论】同余(五):多元线性同余方程
  9. 华为云 内容审核API调用 前端 js uni-app
  10. 物联网平台由哪些部分组成