【发布时间】:2015-11-05 22:14:33
【问题描述】:
我有一个对象数组,例如如下所示。
[{ "foo" : "a", "bar" : "x", baz: 1},
{ "foo" : "b", "bar" : "y", baz: 2},
{ "foo" : "c", "bar" : "z", baz: 3}]
现在我只想从这个数组中选择 foo 属性到另一个数组,比如
["a","b","c"]
我可以使用循环来做到这一点,并将每个属性添加到另一个数组中
var fooArray =[];
angular.forEach(arrayName, function (value, key) {
fooArray.push(value.foo);
});
但是这是可能的,就像我们在 c# linq select 语句中所做的那样,不需要像循环进入数组一样
var fooArray = arrayName.Select(m => m.foo) // c# way
有没有不循环的优雅方式?
【问题讨论】:
-
使用 ECMAScript 2015:
arrayName.map(m => m.foo) -
@Vohuman : 如何将 ECMAScipt 与 angular 混合使用,我以前没用过这个?
-
@Chaitanya Gadkari:ECMAScript 是 JavaScript 的底层规范。它仅适用于受支持的浏览器(或者如果您有转换器)。那时它只是一个语言特性,它适用于 Angular,因为 Angular 只是一个在该语言中运行的框架。
标签: jquery arrays angularjs linq