下面展示了一个例子,脚本操作的函数的名称必须为 operator,否则无法生效***。***
function operator(proxies) {
}
其中参数 proxies 为输入的节点列表,输出修改后的 proxies 。proxies 参数的介绍参考「脚本过滤器」一章。脚本操作灵活度是最高的,可以随意修改节点的任何字段。
假设用户有一组节点,经过过滤和重命名操作之后,可能节点中会存在重复的节点名称,用户可能会希望对重复的节点添加序号进行标识。
function operator(proxies) {
const counter = {};
return proxies.map(p => {
if (!counter[p.name]) counter[p.name] = 0;
p.name = `${p.name} ${++counter[p.name]}`;
return p;
});
}
/* 重复节点添加标识效果
香港1
香港2
香港3
*/
function operator(proxies) {
const counter = {};
return proxies.map(p => {
if (!counter[p.name]) counter[p.name] = 0;
p.name = p.name +(('000'+ ++counter[p.name]).slice(-2)).toString();
return p;
});
}
/* 重复节点添加标识效果
香港01
香港02
香港03
*/