数组映射
<h1>数组映射</h1>
<h2>功能描述</h2>
<p>对数组中的每个元素应用映射函数。</p>
<h2>输入参数</h2>
<ul>
<li><strong>数组</strong>:<code>&quot;1|2|3|4|5&quot;</code>
- 描述:需要映射的原始数组,以分隔符分隔的字符串形式传入。
- 必填:是
- 默认值:无</li>
<li><strong>分隔符</strong>(可选):<code>&quot;|&quot;</code>
- 描述:用于分割数组字符串的分隔符。
- 必填:否
- 默认值:<code>&quot;|&quot;</code></li>
<li><strong>映射函数</strong>(可选):
- 描述:用于映射数组元素的函数表达式。
- 必填:否
- 默认值:<code>&quot;x=&gt;x&quot;</code>
- 示例:</li>
</ul>
<h3>基础数值运算</h3>
<ul>
<li><code>x =&gt; x * 2</code>:将数组元素乘以2。</li>
<li><code>x =&gt; Number(x) + 10</code>:将数组元素转换为数值后加10。</li>
<li><code>x =&gt; Math.pow(x, 3)</code>:计算数组元素的立方。</li>
</ul>
<h3>字符串处理</h3>
<ul>
<li><code>x =&gt;</code>ID<em>${x}``:为数组元素添加前缀“ID</em>”。</li>
<li><code>x =&gt; x.toUpperCase()</code>:将数组元素转换为大写。</li>
<li><code>x =&gt; x.length &gt; 3 ? x.slice(0,3) + &#039;...&#039; : x</code>:截断长度超过3的字符串。</li>
</ul>
<h3>条件转换</h3>
<ul>
<li><code>x =&gt; x &gt; 3 ? &#039;大&#039; : &#039;小&#039;</code>:根据数值大小返回“大”或“小”。</li>
<li><code>x =&gt; x % 2 === 0 ? &#039;偶&#039; : &#039;奇&#039;</code>:根据奇偶性返回“偶”或“奇”。</li>
<li><code>x =&gt; x || &#039;默认值&#039;</code>:如果元素为空,返回默认值。</li>
</ul>
<h3>数据结构转换</h3>
<ul>
<li><code>x =&gt; ({ value: x })</code>:将数组元素转换为对象。</li>
<li><code>x =&gt; x.split(&#039;&#039;).join(&#039;,&#039;)</code>:将字符串拆分为字符并用逗号连接。</li>
</ul>
<h3>其他实用函数</h3>
<ul>
<li><code>x =&gt; x.trim()</code>:去除字符串两端的空格。</li>
<li><code>x =&gt; x.replace(/\s+/g, &#039;&#039;)</code>:移除字符串中的所有空格。</li>
<li><code>x =&gt; x.includes(&#039;a&#039;) ? &#039;包含a&#039; : &#039;不包含a&#039;</code>:检查字符串是否包含特定字符。</li>
</ul>
<h2>输出结果</h2>
<ul>
<li><strong>映射后的数组</strong>:
- 描述:映射完成后的数组字符串。
- 示例:
// 输入: "1|2|3|4|5"
x => x * 2 → "2|4|6|8|10"
x => <code>ID_${x}</code> → "ID_1|ID_2|ID_3|ID_4|ID_5"
x => x > 3 ? '大' : '小' → "小|小|小|大|大"</li>
</ul>
<h2>日志记录</h2>
<ul>
<li><strong>输入参数日志</strong>:
数组: 1|2|3|4|5
分隔符: |
映射函数: x => x * 2
</li>
<li><strong>验证失败日志</strong>:
- 如果数组为空:<code>数组不能为空</code>
- 如果映射函数无效:<code>映射函数创建失败</code></li>
<li><strong>映射成功日志</strong>:
- 映射后的数组:<code>2|4|6|8|10</code>
- 数组长度:<code>5</code></li>
<li><strong>错误日志</strong>:
- 如果映射过程中发生错误:<code>映射数组失败: {错误信息}</code></li>
</ul>
<h2>不同场景下的输出</h2>
<h3>场景 1:默认映射</h3>
<ul>
<li><strong>输入参数</strong>:
- 数组=<code>&quot;1|2|3&quot;</code>
- 分隔符=<code>&quot;|&quot;</code>
- 映射函数=<code>&quot;x=&gt;x&quot;</code></li>
<li><strong>输出结果</strong>:
- 映射后的数组=<code>&quot;1|2|3&quot;</code>
- 数组长度=<code>3</code></li>
<li><strong>日志输出</strong>:
- 输入参数:
数组: 1|2|3
分隔符: |
映射函数: x=>x
- 输出结果:
映射后的数组: 1|2|3
数组长度: 3</li>
</ul>
<h3>场景 2:自定义映射</h3>
<ul>
<li><strong>输入参数</strong>:
- 数组=<code>&quot;A|B|C&quot;</code>
- 分隔符=<code>&quot;|&quot;</code>
- 映射函数=<code>&quot;x=&gt;x.toLowerCase()&quot;</code></li>
<li><strong>输出结果</strong>:
- 映射后的数组=<code>&quot;a|b|c&quot;</code>
- 数组长度=<code>3</code></li>
<li><strong>日志输出</strong>:
- 输入参数:
数组: A|B|C
分隔符: |
映射函数: x=>x.toLowerCase()
- 输出结果:
映射后的数组: a|b|c
数组长度: 3</li>
</ul>