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

JavaScript能否从现有集合提取单个属性构建新集合?

答案

JavaScript 存在对应的原生实现,无需手动编写循环、手动构建数组,使用数组自带的 map() 方法即可实现和 C# 中 Select() 完全一致的投影效果。

对应给出的C#示例,等价JavaScript代码如下:

// 定义对象数组
const items = [
  { name: "Bob", email: "Bob@domain.com", phone: "555-5555" },
  { name: "Carl", email: "Carl@domain.com", phone: "555-5555" },
  { name: "Ted", email: "Ted@domain.com", phone: "555-5555" }
];

// 提取所有name属性,得到新数组
const names = items.map(i => i.name);
// 最终names结果:["Bob", "Carl", "Ted"]

方法说明

  • map() 是JavaScript数组的内置方法,调用后会自动遍历原数组的每一项,将传入的回调函数的返回值按顺序收集,最终返回一个长度和原数组完全一致的新数组,全程不需要手写for/forEach循环,也不需要提前创建空数组再逐个插入元素。
  • 除了提取单个属性这种简单场景,你也可以在回调函数里编写任意元素转换逻辑,返回自定义结构的结果,和C# Select() 的投影能力完全对齐。

注意小差异:C# 中LINQ的Select()返回的IEnumerable<T>是延迟执行的,只有真正遍历结果时才会运行投影逻辑;JavaScript的map()是立即执行的,调用完成就会直接返回构建好的完整数组。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:12:23