我需要循环一个值数组,并在找到标识符时用递增的值进行替换。我的解决方案可以工作,但我正在寻找更好的方法来完成这个任务:
// 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。
谢谢!
value.replace("__increment__", util.counter++)
。 - AbhitalkstestForString
是做什么的? - Qantas 94 Heavy