【问题标题】:Creating an object array with a different type from an existing object array in Javascript在 Javascript 中创建与现有对象数组不同类型的对象数组
【发布时间】:2014-10-05 08:47:56
【问题描述】:

在 C# 中使用 lambdas 和 LINQ,我可以基于具有不同类型的集合创建具有特定类型的新集合。例如:

var array = new List<Foo> { new Foo { name = "John", age = "21", title = "Mr." } };
// I can then use the Select function to create a collection with a different type
var modifiedArray = array.Select(foo => new Bar { title = foo.Title });

我想知道在 Javascript 中是否有更好的方法来做到这一点。我目前有:

var array = [{name: 'John', age: '21', title: 'Mr.'}];
var modifiedArray = [];

array.forEach(function(foo){
    modifiedArray.push({title: foo.title});
});

【问题讨论】:

  • 如果下面的答案回答了您的问题,按照本网站的运作方式,您可以通过单击旁边的复选标记“接受”该答案。但前提是它回答了你的问题。详情:stackoverflow.com/help/someone-answers

标签: javascript c# arrays


【解决方案1】:

是的。你可以使用Array.prototype.map

var modifiedArray = array.map(function(x){ 
    return {title: x.title} 
});

【讨论】:

  • 这是我见过有人在 Stack Overflow 上回复最快的。非常感谢!
  • @dimgl 很高兴为您提供帮助 :)
  • @dimgl:请注意 map 是在 ES5 中添加的,所以它不在像 IE8 这样的旧浏览器中。不过,它可以很容易地填充。
  • @T.J.Crowder 这是一个 Node.js 后端脚本
  • @dimgl:那你就没事了。
猜你喜欢
  • 1970-01-01
  • 2019-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-06
  • 1970-01-01
  • 2013-08-18
  • 1970-01-01
相关资源
最近更新 更多