作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果 count 为 4,则 arr 将为 [ 1, 2, 3, 4 ]
如果 count 大于 4,arr 将类似于 [ 1, 2, "...", 9, 10 ]
我试过这种方式,但输出是 [ 1, 2, "..."]
const arr = [];
const count = 10;
for (let i = 0; i < count; i++) {
if (i >= 8) {
arr.push(i + 1);
continue;
}
if (i >= 2) {
arr.push("...");
break;
}
arr.push(i + 1);
}
最佳答案
从我从 OP 的预期输出/结果中看到的情况来看,问题似乎更多地与创建带有省略号的序列有关。在这种情况下,可以选择一种更简单的方法。
任何 count
小于等于 4
的序列都将通过 Array.from
创建及其可选的 mapFn
范围。对于任何超过 4
的 count
值,都没有必要使用任何类型的循环;只需创建一个数组,其中前两项始终是 1
和 2
,然后是 '...'
的省略号占位符,然后是 '...'
最后两项的值总是分别为 count - 1
count
。
function createEllipsisSequence(count) {
let list;
if (count <= 4) {
list = Array
.from({ length: count }, (_, idx) => idx + 1);
} else {
list = [1, 2, '...', count - 1, count];
}
return list;
}
console.log('count: 3 ...',
createEllipsisSequence(3)
);
console.log('count: 4 ...',
createEllipsisSequence(4)
);
console.log('count: 5 ...',
createEllipsisSequence(5)
);
console.log('count: 6 ...',
createEllipsisSequence(6)
);
console.log('count: 10 ...',
createEllipsisSequence(10)
);
console.log('count: 11 ...',
createEllipsisSequence(11)
);
.as-console-wrapper { min-height: 100%!important; top: 0; }
关于javascript - 我想在 javascript 中生成这样的数组 [ 1, 2, ..., 9, 10 ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71999848/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!