是否有对应的javascript/jQuery.NET's可枚举.选择

Is there a javascript/jQuery counterpart to .NET's Enumerable.Select?

本文关键字:选择 枚举 NET jQuery javascript 是否      更新时间:2023-09-26

我有一个javascript对象数组,每个对象都包含成员"Id"answers"Name"。javascript/jQuery中是否有内置的方法将此数组投影到另一个数组中,例如只包含元素名称的数组。换句话说,类似于Enumerable的东西。在中选择方法。NET。

  • 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 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);
    });