gpt4 book ai didi

javascript - 我想在 javascript 中生成这样的数组 [ 1, 2, ..., 9, 10 ]

转载 作者:行者123 更新时间:2023-12-01 23:00:22 25 4
gpt4 key购买 nike

如果 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范围。对于任何超过 4count 值,都没有必要使用任何类型的循环;只需创建一个数组,其中前两项始终是 12,然后是 '...' 的省略号占位符,然后是 '...'最后两项的值总是分别为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com