You need to enable JavaScript to run this app. 如何将Python切片赋值语法移植到JavaScript/TypeScript中
优惠活动
大模型
产品
解决方案
定价
更多

如何将Python切片赋值语法移植到JavaScript/TypeScript中

实现思路

你提到的Python代码作用是:对is_prime数组,从起始索引start - segment_min开始,每间隔pk个位置,将对应元素统一赋值为False,直到数组末尾。JavaScript/TypeScript 原生没有支持步长的切片赋值语法,我们可以通过循环遍历对应索引的方式实现相同效果,时间复杂度和Python原生实现一致。

基础实现代码

const startIdx = start - segment_min;
// 若你有预先定义的segment_len变量,终止条件也可写为i < segment_len
for (let i = startIdx; i < is_prime.length; i += pk) {
  is_prime[i] = false;
}

如果需要复用该逻辑,可以封装为通用函数:

function sliceAssign<T>(arr: T[], start: number, step: number, value: T): void {
  for (let i = start; i < arr.length; i += step) {
    arr[i] = value;
  }
}

// 调用示例
sliceAssign(is_prime, start - segment_min, pk, false);

素数筛场景优化

素数筛场景通常会用类型数组提升性能,如果你的is_prime是Uint8Array类型,可直接适配对应参数类型:

function sliceAssignForUint8(arr: Uint8Array, start: number, step: number, value: number): void {
  for (let i = start; i < arr.length; i += step) {
    arr[i] = value;
  }
}

// 调用示例,素数筛中通常用0代表false、1代表true
sliceAssignForUint8(is_prime, start - segment_min, pk, 0);

内容的提问来源于stack exchange,提问作者FastDeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 21:51:03