我有一个javascript对象数组,每个对象都包含成员"Id"和"Name"。在javascript/jQuery中是否有任何内置的方式将此数组投影到另一个数组中,例如只包含元素名称的数组。换句话说,类似于.NET中Enumerable.Select方法的东西。
在 Codeplex 上有一个 LINQ for JavaScript 项目:http://linqjs.codeplex.com/
另一种方法在这里描述:http://www.ienablemuch.com/2011/05/jquerys-linqs-select.html
其中的一段摘录如下:
<script>
// This evil code was sourced from https://dev59.com/E3RA5IYBdhLWcg3w_C8w#761190
$(function () {
document.write = function (evil) {
$('body').append(evil);
}
});
// ...evil :p mwahahah
$(function () {
a = ["jumps", "over", "lazy", "dog"];
b = $.map(a, function (v) {
return "www." + v + ".com";
});
$.each(b, function () {
document.write(this + "<br/>");
});
i = 0;
c = $.map(b, function (v) {
return { v: v, i: ++i, m: i * 2 };
});
$.each(c, function () {
document.write(this.v + " xxx " + this.i + ' yyy ' + this.m + "<br/>");
});
});
</script>
var oldarray;
var newarray;
oldarray.forEach( function(element)
{
newarray.push( element.Name);
});