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

Svelte中如何过滤JSON指定前缀键并转换为数组对象?

解决方案

你的问题核心是JSON响应是对象而非数组,直接调用map方法会报错——对象本身没有map属性。需要先提取对象的键,再完成过滤与结构转换,具体实现如下:

完整Svelte处理代码

<script>
async function processApiData() {
  const response = await fetch('你的API接口地址');
  const data = await response.json();

  // 提取键→过滤type开头项→转换为目标结构
  const items = Object.keys(data)
    .filter(key => key.startsWith('type::'))
    .map(key => ({
      id: key,
      value: key,
      title: key
    }));

  return items;
}
</script>

代码说明

  1. 提取对象键:用Object.keys(data)将JSON对象的所有键转换为数组,得到["type::new", "type::closed", ...]
  2. 过滤目标键:通过filter筛选出以type::开头的键(精准匹配你的需求)
  3. 转换结构:用map将每个符合条件的键,映射为包含id/value/title的对象

最终输出结果

运行后会生成你需要的数组结构:

[
  { id: 'type::new', value: 'type::new', title: 'type::new' },
  { id: 'type::closed', value: 'type::closed', title: 'type::closed' },
  { id: 'type::bug', value: 'type::bug', title: 'type::bug' }
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:10:42