You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift高效索引查询:基于索引数组提取整数数组元素

高效实现索引数组查询的方案

嘿,这个需求用原生JavaScript数组方法就能轻松搞定,完全不用写显式循环,而且代码简洁又高效!

核心实现:使用map()方法

map()方法天生就是用来对数组的每个元素做转换的,正好契合我们的需求——把queries里的每个索引值,转换成arrayWithData中对应位置的元素。

示例代码如下:

let arrayWithData = [10, 20, 30, 15, 25, 35, 56];
let queries = [2, 4, 6];
let queriedArray = queries.map(index => arrayWithData[index]);

console.log(queriedArray); // 输出: [30, 25, 56]

为什么这个方案高效?

  • 无显式循环:代码逻辑直观,可读性拉满,不用维护循环计数器那一套冗余代码
  • 原生优化:map()是JS引擎原生实现的方法,底层经过性能优化,比手写循环的效率更高(尤其是处理大数组时)
  • 精准匹配需求:每一步逻辑都直接对应需求——遍历索引数组,取出目标数组的对应元素

可选:处理无效索引的情况

如果担心queries里存在超出arrayWithData范围的索引(比如负数、大于等于数组长度的数值),可以结合filter()先过滤有效索引,再做映射:

let queriedArray = queries
  .filter(index => index >= 0 && index < arrayWithData.length)
  .map(index => arrayWithData[index]);

这样就能确保最终结果里只包含有效存在的元素啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:54:43