gpt4 book ai didi

Javascript - 在文本中替换基于对象的值的最快和最有效的方法

转载 作者:行者123 更新时间:2023-11-30 07:17:50 25 4
gpt4 key购买 nike

我有一个看起来像这样的对象:

var obj = {
a: "text",
b: "text 2",
c: "text 3",
...
}

我有一堆看起来像这样的字符串:

var stringA = "http://{{a}}.something.com/",
stringB = "http://something.{{b}}.com/",
stringC = "http://something.com/{{c}}";

我想通过遍历 obj 并检查每个字符串是否具有我的匹配值来将 {{(\w)}} 替换为等效的,但是我我确信有更好更快的方法来做到这一点。

有什么想法吗?

最佳答案

Douglas Crockford 编写了一个名为 supplant 的函数,它几乎完全符合您的要求。我稍微改变了函数以匹配你的双花括号 -

if (typeof String.prototype.supplant !== 'function') {
String.prototype.supplant = function (o) {
return this.replace(/{{([^{}]*)}}/g, function (a, b) {
var r = o[b];
return typeof r === 'string' ? r : a;
});
};
}

var obj = {
a: "text",
b: "text 2",
c: "text 3"
}

var stringA = "http://{{a}}.something.com/",
stringB = "http://something.{{b}}.com/",
stringC = "http://something.com/{{c}}";

alert(stringA.supplant(obj));

演示 - http://jsfiddle.net/saZGg/

关于Javascript - 在文本中替换基于对象的值的最快和最有效的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806282/

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