是否有与.NET的Enumerable.Select对应的javascript/jQuery?
我有一个javascript对象数组,每个对象都包含成员Id和名称。javascript/jQuery中是否有任何内置方法可以将此数组投影到另一个数组中,例如只包含元素名称的数组。换句话说,类似于.NET中的方法 Codeplex上有一个LINQ for JavaScript项目: 这里描述了另一种方法: 摘录如下:是否有与.NET的Enumerable.Select对应的javascript/jQuery?,javascript,jquery,.net,ienumerable,Javascript,Jquery,.net,Ienumerable,我有一个javascript对象数组,每个对象都包含成员Id和名称。javascript/jQuery中是否有任何内置方法可以将此数组投影到另一个数组中,例如只包含元素名称的数组。换句话说,类似于.NET中的方法 Codeplex上有一个LINQ for JavaScript项目: 这里描述了另一种方法: 摘录如下: <script> // This evil code was sourced from http://stackoverflow.com/questions/7611
<script>
// This evil code was sourced from http://stackoverflow.com/questions/761148/jquery-document-ready-and-document-write/761190#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>
假设oldarray包含具有Name属性的对象。新数组应该只包含作为旧数组中对象名称的字符串。对于这样一个简单的任务,使用Jquery可能是一种过分的做法
var oldarray;
var newarray;
oldarray.forEach( function(element)
{
newarray.push( element.Name);
});
谢谢,我使用了jQuery的$.map函数…很棒的东西!: