自动化编辑器-插件教程

自动化编辑器-插件教程


数组过滤

<h1>数组过滤</h1> <h2>功能描述</h2> <p>根据指定的过滤函数对数组进行过滤,返回过滤后的数组、被过滤的数组以及相关长度信息。</p> <h2>输入参数</h2> <ul> <li><strong>数组</strong>:<code>&amp;quot;1|2|3|4|5&amp;quot;</code>(分隔符分隔的字符串)</li> <li><strong>分隔符</strong>(可选):<code>&amp;quot;|&amp;quot;</code>(默认)</li> <li><strong>过滤函数</strong>(可选):<code>&amp;quot;x=&amp;gt;true&amp;quot;</code>(默认保留所有元素)</li> </ul> <h3>过滤函数种类示例</h3> <ol> <li> <p><strong>数值比较</strong>:    - <code>&amp;quot;x=&amp;gt;x&amp;gt;3&amp;quot;</code>:保留大于3的元素    - <code>&amp;quot;x=&amp;gt;parseInt(x)%2===0&amp;quot;</code>:保留偶数    - <code>&amp;quot;x=&amp;gt;x&amp;gt;=1 &amp;amp;&amp;amp; x&amp;lt;=5&amp;quot;</code>:保留1到5之间的元素    - <code>&amp;quot;x=&amp;gt;x===0&amp;quot;</code>:保留等于0的元素    - <code>&amp;quot;x=&amp;gt;x!==NaN&amp;quot;</code>:排除NaN值</p> </li> <li> <p><strong>字符串操作</strong>:    - <code>&amp;quot;x=&amp;gt;x.length&amp;gt;3&amp;quot;</code>:保留长度大于3的字符串    - <code>&amp;quot;x=&amp;gt;x.startsWith(&amp;#039;a&amp;#039;)&amp;quot;</code>:保留以&#039;a&#039;开头的字符串    - <code>&amp;quot;x=&amp;gt;x.includes(&amp;#039;b&amp;#039;)&amp;quot;</code>:保留包含&#039;b&#039;的字符串    - <code>&amp;quot;x=&amp;gt;/^[A-Z]/.test(x)&amp;quot;</code>:保留以大写字母开头的字符串    - <code>&amp;quot;x=&amp;gt;x.match(/\d+/)&amp;quot;</code>:保留包含数字的字符串</p> </li> <li> <p><strong>逻辑组合</strong>:    - <code>&amp;quot;x=&amp;gt;(x&amp;gt;1 &amp;amp;&amp;amp; x&amp;lt;5) || x===10&amp;quot;</code>:保留1到5之间或等于10的元素    - <code>&amp;quot;x=&amp;gt;!(x===&amp;#039;a&amp;#039; || x===&amp;#039;b&amp;#039;)&amp;quot;</code>:排除&#039;a&#039;或&#039;b&#039;    - <code>&amp;quot;x=&amp;gt;(x&amp;gt;0 &amp;amp;&amp;amp; x&amp;lt;10) &amp;amp;&amp;amp; x!==5&amp;quot;</code>:保留0到10之间但不等于5的元素    - <code>&amp;quot;x=&amp;gt;x===&amp;#039;admin&amp;#039; || x===&amp;#039;root&amp;#039;&amp;quot;</code>:保留&#039;admin&#039;或&#039;root&#039;</p> </li> <li> <p><strong>特殊条件</strong>:    - <code>&amp;quot;x=&amp;gt;x===null&amp;quot;</code>:保留null值    - <code>&amp;quot;x=&amp;gt;typeof x===&amp;#039;number&amp;#039;&amp;quot;</code>:保留数值类型    - <code>&amp;quot;x=&amp;gt;x!==undefined&amp;quot;</code>:排除undefined值    - <code>&amp;quot;x=&amp;gt;Array.isArray(x)&amp;quot;</code>:保留数组类型    - <code>&amp;quot;x=&amp;gt;typeof x===&amp;#039;object&amp;#039; &amp;amp;&amp;amp; x!==null&amp;quot;</code>:保留非null对象</p> </li> <li> <p><strong>正则表达式</strong>:    - <code>&amp;quot;x=&amp;gt;/^\d+$/.test(x)&amp;quot;</code>:保留纯数字字符串    - <code>&amp;quot;x=&amp;gt;/^[a-z]+$/i.test(x)&amp;quot;</code>:保留纯字母字符串    - <code>&amp;quot;x=&amp;gt;/^[\w\-.]+@([\w-]+\.)+[\w-]{2,4}$/.test(x)&amp;quot;</code>:保留邮箱格式字符串</p> </li> <li> <p><strong>数组操作</strong>:    - <code>&amp;quot;x=&amp;gt;x.includes(&amp;#039;value&amp;#039;)&amp;quot;</code>:保留包含&#039;value&#039;的数组    - <code>&amp;quot;x=&amp;gt;x.length&amp;gt;0&amp;quot;</code>:保留非空数组    - <code>&amp;quot;x=&amp;gt;x.some(item=&amp;gt;item&amp;gt;10)&amp;quot;</code>:保留包含大于10元素的数组</p> </li> <li><strong>对象属性判断</strong>:    - <code>&amp;quot;x=&amp;gt;x.hasOwnProperty(&amp;#039;id&amp;#039;)&amp;quot;</code>:保留包含&#039;id&#039;属性的对象    - <code>&amp;quot;x=&amp;gt;x.status===&amp;#039;active&amp;#039;&amp;quot;</code>:保留状态为&#039;active&#039;的对象    - <code>&amp;quot;x=&amp;gt;x.value&amp;gt;100&amp;quot;</code>:保留值大于100的对象</li> </ol> <h2>输出结果</h2> <ul> <li><strong>过滤后的数组</strong>:<code>&amp;quot;2|4&amp;quot;</code></li> <li><strong>被过滤的数组</strong>:<code>&amp;quot;1|3|5&amp;quot;</code></li> <li><strong>过滤前数组长度</strong>:<code>5</code></li> <li><strong>过滤后数组长度</strong>:<code>2</code></li> <li><strong>被过滤数组长度</strong>:<code>3</code></li> </ul> <h2>日志记录</h2> <h3>输入参数</h3> <p>数组: 1|2|3|4|5 分隔符: | 过滤函数: x=&gt;x%2===0</p> <ul> <li>描述:记录输入的数组、分隔符和过滤函数。</li> </ul> <h3>处理过程</h3> <p>过滤后的数组: 2|4 被过滤的数组: 1|3|5 过滤前数组长度=5 过滤后数组长度=2 被过滤数组长度=3</p> <ul> <li>描述:记录过滤过程中的关键数据,包括过滤后的数组、被过滤的数组以及相关长度信息。</li> </ul> <h3>错误处理</h3> <ul> <li><strong>过滤函数创建失败</strong>:   - 日志输出:<code>过滤函数创建失败</code></li> </ul> <h2>不同场景下的输出</h2> <h3>场景 1:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;a|b|c|d&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x!==&amp;#039;b&amp;#039;&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;a|c|d&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;b&amp;quot;</code>   - 过滤前数组长度:<code>4</code>   - 过滤后数组长度:<code>3</code>   - 被过滤数组长度:<code>1</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: a|b|c|d     分隔符: |     过滤函数: x=&gt;x!==&#039;b&#039;   - 输出结果:     过滤后的数组: a|c|d     被过滤的数组: b     过滤前数组长度=4     过滤后数组长度=3     被过滤数组长度=1</li> </ul> <h3>场景 2:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;10|20|30|40|50&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x&amp;gt;25&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;30|40|50&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;10|20&amp;quot;</code>   - 过滤前数组长度:<code>5</code>   - 过滤后数组长度:<code>3</code>   - 被过滤数组长度:<code>2</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: 10|20|30|40|50     分隔符: |     过滤函数: x=&gt;x&gt;25   - 输出结果:     过滤后的数组: 30|40|50     被过滤的数组: 10|20     过滤前数组长度=5     过滤后数组长度=3     被过滤数组长度=2</li> </ul> <h3>场景 3:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;1|2|3|4|5&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x%2===0&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;2|4&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;1|3|5&amp;quot;</code>   - 过滤前数组长度:<code>5</code>   - 过滤后数组长度:<code>2</code>   - 被过滤数组长度:<code>3</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: 1|2|3|4|5     分隔符: |     过滤函数: x=&gt;x%2===0   - 输出结果:     过滤后的数组: 2|4     被过滤的数组: 1|3|5     过滤前数组长度=5     过滤后数组长度=2     被过滤数组长度=3</li> </ul> <h3>场景 4:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;apple|banana|cherry|date&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x.length&amp;gt;5&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;banana|cherry&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;apple|date&amp;quot;</code>   - 过滤前数组长度:<code>4</code>   - 过滤后数组长度:<code>2</code>   - 被过滤数组长度:<code>2</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: apple|banana|cherry|date     分隔符: |     过滤函数: x=&gt;x.length&gt;5   - 输出结果:     过滤后的数组: banana|cherry     被过滤的数组: apple|date     过滤前数组长度=4     过滤后数组长度=2     被过滤数组长度=2</li> </ul> <h3>场景 5:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;true|false|true|false&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x===&amp;#039;true&amp;#039;&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;true|true&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;false|false&amp;quot;</code>   - 过滤前数组长度:<code>4</code>   - 过滤后数组长度:<code>2</code>   - 被过滤数组长度:<code>2</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: true|false|true|false     分隔符: |     过滤函数: x=&gt;x===&#039;true&#039;   - 输出结果:     过滤后的数组: true|true     被过滤的数组: false|false     过滤前数组长度=4     过滤后数组长度=2     被过滤数组长度=2</li> </ul> <h3>场景 6:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;&amp;quot;</code>(空数组)   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x.length&amp;gt;0&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;&amp;quot;</code>   - 过滤前数组长度:<code>0</code>   - 过滤后数组长度:<code>0</code>   - 被过滤数组长度:<code>0</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组:     分隔符: |     过滤函数: x=&gt;x.length&gt;0   - 输出结果:     过滤后的数组:     被过滤的数组:     过滤前数组长度=0     过滤后数组长度=0     被过滤数组长度=0</li> </ul> <h3>场景 7:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;@|#|$|%&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;x===&amp;#039;#&amp;#039;&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;#&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;@|$|%&amp;quot;</code>   - 过滤前数组长度:<code>4</code>   - 过滤后数组长度:<code>1</code>   - 被过滤数组长度:<code>3</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: @|#|$|%     分隔符: |     过滤函数: x=&gt;x===&#039;#&#039;   - 输出结果:     过滤后的数组: #     被过滤的数组: @|$|%     过滤前数组长度=4     过滤后数组长度=1     被过滤数组长度=3</li> </ul> <h3>场景 8:</h3> <ul> <li><strong>输入参数</strong>:   - 数组:<code>&amp;quot;1|2|3|4|5&amp;quot;</code>   - 分隔符:<code>&amp;quot;|&amp;quot;</code>   - 过滤函数:<code>&amp;quot;x=&amp;gt;parseInt(x)&amp;gt;2&amp;quot;</code></li> <li><strong>输出结果</strong>:   - 过滤后的数组:<code>&amp;quot;3|4|5&amp;quot;</code>   - 被过滤的数组:<code>&amp;quot;1|2&amp;quot;</code>   - 过滤前数组长度:<code>5</code>   - 过滤后数组长度:<code>3</code>   - 被过滤数组长度:<code>2</code></li> <li><strong>日志输出</strong>:   - 输入参数:     数组: 1|2|3|4|5     分隔符: |     过滤函数: x=&gt;parseInt(x)&gt;2   - 输出结果:     过滤后的数组: 3|4|5     被过滤的数组: 1|2     过滤前数组长度=5     过滤后数组长度=3     被过滤数组长度=2</li> </ul>

页面列表

ITEM_HTML