JavaScript字符串String和Array操作的有趣方法

2020-01-24 23:18栏目:编程
TAG:

PHP中有二个函数:String str_repeat;蛮好用的....以下通过js和php模拟达成。 1:PHP版本 复制代码 代码如下: /*PHP版实现*/ function repeat{ return implode( $str, array_fill; } 2:JavaScript完毕: 复制代码 代码如下: /*JavaScript实现*/ function repeat{ return new Array.join; }

var sb = [];
for(var i = 0; i <=21; i++) {
sb.push(i);
}
document.write(sb.join(''));
//output:
//0123456789101112131415161718192021

字符串和数组在程序编写制定进度中是非平时用的系列,因而程序语言都会将String和Array作为宗旨类型,并提供数不完字符串和数组的主意来简化对字符串的操作。JavaScript里面也提供了String类型和Array类型,並且有不菲中坚的String方法和Array方法来便于地对字符串举行联合、查找、替换、截取等管理。

不过忽视那么些考虑,扩充JavaScript标准项目标prototype照旧会给编制程序带来繁多的遍历。

透过回调函数就足以兑现无数很担当的字符串匹配了。至于功效,就先不思考了。

复制代码 代码如下:

JavaScript也扶助选用加号(+State of Qatar来进行字符串拼接,那么也可能有存在效能问题呢。但是JavaScript并从未提供StringBuilder那样的类。

JavaScript作为叁个脚本语言,又提供了生机勃勃种动态分析运维的体制,而那特色,又让使得在String操作的时候现身存的结合使用Array的幽默方法。那么些办法只怕有些边门有一点意想不到,但不时候在效用、可读性、复用性上彰显得却更加好。

诸如给叁个文件名,希望根据点(.卡塔尔分割获取基本名和后缀名。先来看看使用正规String方法达成的那些操作:

String.prototype.trim = function() {
return this.replace(/^s+|s+$/g, '');
};

var friends = 'friends of Ider, friend of Angie';
var result = friends.replace(/(friends?) of (w+)/g, "$2's $1");
document.write(result);
//output:
//Ider's friends, Angie's friend

复制代码 代码如下:

用split代替字符串的子串查找和替换
在字符串的操作中,很常并发的就是想要从字符串中搜寻贰个子字符串是或不是存在,然后截收取该字符串,抑或是将该子字符串替换来其余字符串。

复制代码 代码如下:

var str = 'hello_from_ider_to_world'.replace(/_/g, '-');
document.write(str);

行使n+1个Array成分发生的n个间隙,再以指标字符串来拼接,大家就会博取字符串重复的功力。
增加String的prototype使艺术应用于全数字符串
JavaScript的对象世袭和措施找出是依附原型链(prototype chain卡塔尔(قطر‎,全数应用着的字符串都足以说是后续于String的靶子,大家可以为String对象的prototype增多方法还是性质,那样该情势就足以选用到具备大家利用的靶子上了。比方上边的repeat方法,就足以改成:

再一次字符串
时不常大家想要把字符串数十次打字与印刷出来(举例想要个分水岭卡塔尔,我们就须要将三个字符串重复多次, 可惜JavaScript并不曾提供肖似repeat那样的点子。当然我们得以用循环来拼接出来,但是大家可以利用JavaScript中Array的join方法来贯彻repeat

复制代码 代码如下:

我们通晓正则表达式三个很苍劲的效应就是向后援引(Back Reference卡塔尔,实际上JavaScript的replace不仅仅在第三个参数内做向后援用,而且在更迭字符串上,也得以展开向后援引,只是成都百货上千地方大概用反斜杠(卡塔尔加数字作为标识而JavaScript则是用美刀($卡塔尔加数字作为标记。

复制代码 代码如下:

前边看来可以通过join把数组产生字符串,也能够行使String的split的形式把字符串产生数组。对于下面取文件名及扩张名的难题,大家就足以凭仗“.”把公文名不同成数组各样部分,那么意气风发旦获得的数字高于1(后缀名存在),则所得数字的结尾二个因素就是文件的恢宏名了:

杜撰到文件名中恐怕包括多少个“.”,所以我们照旧要求用“.”把除了最终意气风发部特别的相继部分join回来。
总的来看能够对字符串先split再join,就可以想到,大家得以想到对于那四个主意的参数能够流传分化的字符串,那样就起到了代表String的replace方法举办子串替换的职能了,况兼照旧全局替换。
例如说希望把装有的下划线(_卡塔尔国替换来横杠(-State of Qatar:

版权声明:本文由bob体育app发布于编程,转载请注明出处:JavaScript字符串String和Array操作的有趣方法