Jquery 从角度对象数组中选择特定特性
我有一个对象数组,例如下面的一个Jquery 从角度对象数组中选择特定特性,jquery,arrays,angularjs,linq,Jquery,Arrays,Angularjs,Linq,我有一个对象数组,例如下面的一个 [{ "foo" : "a", "bar" : "x", baz: 1}, { "foo" : "b", "bar" : "y", baz: 2}, { "foo" : "c", "bar" : "z", baz: 3}] 现在我只想从这个数组中选择foo属性到另一个数组,如 ["a","b","c"] var fooArray = arrayName.Select(m => m.foo) // c# way 我可以使用循环和将每个属性添加到另一个数
[{ "foo" : "a", "bar" : "x", baz: 1},
{ "foo" : "b", "bar" : "y", baz: 2},
{ "foo" : "c", "bar" : "z", baz: 3}]
现在我只想从这个数组中选择foo属性到另一个数组,如
["a","b","c"]
var fooArray = arrayName.Select(m => m.foo) // c# way
我可以使用循环和将每个属性添加到另一个数组中来实现这一点
var fooArray =[];
angular.forEach(arrayName, function (value, key) {
fooArray.push(value.foo);
});
但这是可能的,就像我们在c linq select语句中所做的那样,而不需要像这样循环到数组中
["a","b","c"]
var fooArray = arrayName.Select(m => m.foo) // c# way
有没有不使用我们循环的优雅方法?您可以使用下面的映射功能。这是现代浏览器的脚本,我的意思是它将在IE8+版本中完美工作。它在IE8旧版本中不起作用
根据文件
map方法使用调用
在此数组中的每个元素上提供函数
及
对数组的每个元素调用已定义的回调函数,然后
返回包含结果的数组
仅供参考IE8不是现代浏览器,不支持该方法。@谢谢您的信息,先生,这就是我提到IE8+浏览器的原因。使用ECMAScript 2015:arrayName.mapm=>m。foo@Vohuman:如何将ECMAScipt与angular混合,我以前从未使用过它?@Chaitanya Gadkari:ECMAScript是JavaScript的基础规范。它仅适用于受支持的浏览器或具有转换器的情况。在这一点上,它只是一个语言特性,它与angular一起工作,因为angular只是一个在语言中运行的框架。