Cha*_*ari 14 linq arrays jquery angularjs
我有一个对象数组,例如下面的一个.
[{ "foo" : "a", "bar" : "x", baz: 1},
{ "foo" : "b", "bar" : "y", baz: 2},
{ "foo" : "c", "bar" : "z", baz: 3}]
Run Code Online (Sandbox Code Playgroud)
现在我想从这个数组中只选择foo属性到另一个数组
["a","b","c"]
Run Code Online (Sandbox Code Playgroud)
我可以使用循环并将每个属性添加到另一个数组作为
var fooArray =[];
angular.forEach(arrayName, function (value, key) {
fooArray.push(value.foo);
});
Run Code Online (Sandbox Code Playgroud)
但是就像我们在c#linq select语句中所做的那样,没有我们循环到数组中
var fooArray = arrayName.Select(m => m.foo) // c# way
Run Code Online (Sandbox Code Playgroud)
没有我们循环,有没有优雅的方式?
Vin*_*eet 14
您可以使用map以下功能.它是现代浏览器的脚本我的意思是它将完美地在IE8+版本中工作.它不适用于IE8旧版本.
按照文档
map()方法创建一个新数组,其结果是在此数组中的每个元素上调用提供的函数.
和
在数组的每个元素上调用已定义的回调函数,并返回包含结果的数组.
var result = arrayName.map(function(a) {return a.foo;});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11538 次 |
| 最近记录: |