Make Javascript do List Comprehension

后端 未结 10 1221
情话喂你
情话喂你 2020-12-05 09:05

What is the cleanest way to make Javascript do something like Python\'s list comprehension?

In Python if I have a list of objects whose name\'s I want to \'

10条回答
  •  难免孤独
    2020-12-05 10:06

    This is an example of a place where Coffeescript really shines

    pows = [x**2 for x in foo_arr]
    list_of_names = [x.name for x in list_of_objects]
    

    The equivalent Javascript would be:

    var list_of_names, pows, x;
    
    pows = [
      (function() {
        var _i, _len, _results;
        _results = [];
        for (_i = 0, _len = foo_arr.length; _i < _len; _i++) {
          x = foo_arr[_i];
          _results.push(Math.pow(x, 2));
        }
        return _results;
      })()
    ];
    
    list_of_names = [
      (function() {
        var _i, _len, _results;
        _results = [];
        for (_i = 0, _len = list_of_objects.length; _i < _len; _i++) {
          x = list_of_objects[_i];
          _results.push(x.name);
        }
        return _results;
      })()
    ];
    

提交回复
热议问题