【发布时间】:2013-12-26 12:50:25
【问题描述】:
如果找到,我必须循环一个值数组并用递增值替换标识符。我的解决方案有效,但我正在寻找更好的方法来做到这一点:
// somewhere
util.counter = 0;
// testForString
util.testForString = function (search_string, full_string, nowrap) {
var s = nowrap ? "" : " ";
return (s + full_string + s).indexOf(s + search_string + s) > -1;
};
// when saving a file, I loop over it's submitted form values
for (key in record) {
if (record.hasOwnProperty(key)) {
// TODO: improve
value = record[key];
if (util.testForString("__increment__", value) {
set = value.replace("__increment__", util.counter);
util.counter += 1;
}
obj[key] = set || value;
}
}
我不太喜欢这种必须检查每个字段的 __increment__ 占位符的方法,所以...
问题:这可以做得更好吗?也可以在同一步骤中获取计数器的值并增加它吗?
我不想使用 jQuery,所以请只使用 JavaScript。
谢谢!
【问题讨论】:
-
因为你是从0开始的,
value.replace("__increment__", util.counter++) -
我明白了。行。这负责柜台。
-
testForString是做什么的? -
@Qantas94Heavy 添加在上面
-
@abhitalks:把它作为答案,我可以检查一下?
标签: javascript string counter substr