欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Javascript-内置对象String

Javascript-内置对象String

2024/11/30 10:34:42 来源:https://blog.csdn.net/m0_63019813/article/details/139484145  浏览:    关键词:Javascript-内置对象String

只有对象、复杂数据类型才有属性和方法。

 1.将简单数据类型(string,number,boolean,null,undefined)包装为复杂数据类型

        var temp = new String('haha');str = temp;//临时变量赋值给strtemp = null;//销毁临时变量 */

注意:字符串不可变,给字符串重新赋值或者拼接时,会开辟新空间,让指针指向不同的空间,而原本的空间和里面的内容不变 

2.根据字符返回位置indexOf

        var str = '改革春风吹,春天来了';console.log(str.indexOf('春'));//从前面开始的第一个匹配的下标console.log(str.indexOf('春', 3));//从索引3开始往后查找匹配console.log(str.lastIndexOf('春'));//从后往前匹配 

例子1:案例1:查找字符串'abcoefoxyozzopp'中o出现的位置以及次数。

indexOf如果查不到目标就会返回-1,查到o之后不断改变新的索引+1,count用来计数

        var str = 'abcoefoxyozzopp';var index = str.indexOf('o');var count = 0;while (index !== -1) {console.log(index);count++;index = str.indexOf('o', index + 1);}console.log('o出现次数:' + count);

类似的将数组中的red出现的位置和次数查找出来:

        var arr = ['red', 'blue', 'green', 'pink', 'red'];var count = 0;var index = arr.indexOf('red');while (index !== -1) {console.log(index);count++;index = arr.indexOf('red', index + 1);}console.log('red出现次数:' + count); 

3.根据位置返回字符charAt,有下列4种用法包括charCodeAt

        var str = 'andy';console.log(str.charAt(3));//y//遍历字符串for (var i = 0; i < str.length; i++) {console.log(str.charAt(i));}//charCodeAt(index) 返回相应索引的字符ASCII码,判断用户按下了哪个键console.log(str.charCodeAt(0));//97// 3.H5新增特性console.log(str[0]);

判断对象是否有该属性,对象['属性名']

例子2:统计字符串'abcoefoxyozzopp'中出现次数最多的字符,并统计其数

        方法:chaAt()遍历,将每个字符都存储给对象,对象有该属性为1,如果存在了+1

 var str = 'abcoefoxyozzopp';var o = {};for (var i = 0; i < str.length; i++) {var chars = str.charAt(i);if (o[chars]) {//这里是对象访问,对象['属性名'],不过chars对应的是对象变量,所以不加引号o[chars]++;}else {o[chars] = 1;}}console.log(o);//遍历对象var max = 0;//存放出现最多的次数var ch = '';//存放出现次数最多的字符for (var k in o) {if (o[k] > max) {max = o[k];ch = k;}}console.log('出现最多的是' + ch + ' 共' + max + '次');

4.字符串操作方法

        var str = 'haha';console.log(str.concat('pink'));//该方法等效于+// str.substr(start, length);//从start位置开始,取length个数//pptstr1 = 'andya';//replaceconsole.log(str.replace('a', 'b'));//用b替换a,只会替换第一个

如果想要替换所有的,用while循环,str.indexOf('o') !== -1,就进行替换。

        spilt分隔符,根据分隔符划分为数组var str2 = 'red,pink,blue';console.log(str2.split(','));var str2 = 'red&pink&blue';console.log(str2.split('&'));

例子3:

        var str = 'abaasdffggghhjjkkgfddsssss3444343';//1、 字符串的长度console.log(str.length);//2、 取出指定位置的字符,如:0,3,5,9等console.log(str.charAt(0));//不存在返回-1console.log(str.charAt(3));//3、查找指定字符是否在以上字符串中存在,如:i,c ,b等console.log(str.indexOf('i'));console.log(str.indexOf('j'));//4、 替换指定的字符,如:g替换为22,ss替换为b等操作方法console.log(str.replace('g', '22'));console.log(str.replace('ss', 'b'));//5、 截取指定开始位置到结束位置的字符串,如:取得1-5的字符串console.log(str.substr(1, 5));//从1开始取5个长度//6、 找出以上字符串中出现次数最多的字符和出现的次数var count = 0;var o = {};for (var i = 0; i < str.length; i++) {var chars = str.charAt(i);if (o[chars]) {//对象中有o[chars]++;}else {o[chars] = 1;}}console.log(o);var max = 0;var ch = '';for (var k in o) {if (o[k] > max) {max = o[k];ch = k;//k是存放字符的变量}}console.log('出现最多的是:' + ch + '共:' + max + '次'); */

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com