gpt4 book ai didi

javascript - 扩展 JavaScript 中的 split() 方法

转载 作者:行者123 更新时间:2023-11-30 05:51:46 26 4
gpt4 key购买 nike

这件事困扰了我一段时间。

假设我在一条线上做这件事

var result = "Noble warm and pretty darm Caesar.".split(/(\warm)/);
// ["Noble ", "warm", " and pretty ", "darm", " Caesar."]

是否可以扩展 split 方法,以便使用 replace 对字符串执行的操作来处理正则表达式捕获?

伪代码:

var result = "Noble warm and pretty darm Caesar.".split(/(\warm)/, function (match) {
return '<span style="color:red;">' + match + '</span>';
});
// ["Noble ", "<span style=\"color:red;\">warm</span>", " and pretty ", "<span style=\"color:red;\">darm</span>", " Caesar."]

最佳答案

您可以在String 对象的prototype 对象属性中定义您自己的函数。

以下函数是您可以执行的操作的示例:

String.prototype.splitReplace = function(pattern, fn)
{
var array = this.split(pattern);
for (var i = 0; i < array.length; i++)
{
if (i % 2 == 1)
{
array[i] = fn(array[i]);
}
}
return array;
}

如上所述,此函数只是一个快速示例,用于说明如何向 String 原型(prototype)属性添加一个函数。但是你应该使用@User2121315 在评论中给我们的智能和健壮的函数声明

关于javascript - 扩展 JavaScript 中的 split() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14295366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com