javascript - 为数组中的每 12 个项目添加一个类名,跳过前 14 个项目和最后 14 个项目?
问题描述
当数组中的每 12 个元素都像 12、24、48 一样传递时,我想在我的 div 中添加一个“分页符”类名......并且应该跳过第一个和最后一个 14 个元素。
{orderData.map((el, i) => {
let condition = i >= 14 && i % 12 === 0; // how to write the condition here ?
return (
<tr className={`item ${condition && "pagebreak"} `}>
// ...
</tr>
)
})}
解决方案
设置分页符类名的条件如下...
const isPageBreak =
((idx + 1) % 12 === 0) && // - every 12th item ... except for ...
(idx >= 13) && // - skip first 14 items.
(idx < arr.length - 14); // - skip last 14 items.
测试代码...
console.log([
1,2,3,4,5,6,7,8,9,10,
11,12,13,14,15,16,17,18,19,20,
21,22,23,24,25,26,27,28,29,30,
31,32,33,34,35,36,37,38,39,40,
41,42,43,44,45,46,47,48,49,50,
51,52,53,54,55,56,57,58,59,60,61,
//62,
].map((item, idx, arr) => {
const isPageBreak =
((idx + 1) % 12 === 0) && // - every 12th item ... except for ...
(idx >= 13) && // - skip first 14 items.
(idx < arr.length - 14); // - skip last 14 items.
return item + (isPageBreak ? ' :: pagebreak' : '');
})
);
.as-console-wrapper { min-height: 100%!important; top: 0; }
推荐阅读
- apache-flink - 在 apache flink 上运行 apache Beam
- javascript - 使用 JS 检测系统服务标签
- applescript - Applescript 不运行用户命令
- tensorflow - 我的 keras 后端 tensorflow 不使用 gpu?
- r - 为什么我在 data[rows, ] 中出现错误:“closure”类型的对象不是子集
- android - 错误:WebView 已从 react native 中删除
- c# - 如果函数在 C# 中执行超过一定时间,如何重新加载函数?
- javascript - 从 HTML 上的 javascript 获取信息
- css - 单击静态模态背景放大模态内容并将滚动条添加到背景
- javascript - 在 React 函数中打开和关闭 contentEditable?