将数组转换为函数参数的空白变量列表

Convert array to list of blank variables for function parameters

本文关键字:空白 变量 列表 参数 函数 数组 转换      更新时间:2023-09-26

如果你看一下我下面的代码,你可以看到我有一个有组织的模型,集合和视图数组。我有一个名为includes的函数,它将该对象中的所有值连接到一个数组中。

这只是我的洁癖…但是在某种程度上需要在第二个require参数中生成参数列表。

这是我的代码。

var files = {
   models : [
      'Models/BlogPost',
      'Models/Tweet'
   ],
   collections : [
      'Collections/BlogPosts',
      'Collections/Tweets'
   ],
   views : [
      'Views/BlogPostIndexView',
      'Views/TwitterView'
   ],
};
var includes = function() {
   return files.models.concat(files.collections,files.views);
}
require(includes, function(BlogPost, BlogPosts, BlogPostIndexView,    Tweet, Tweets, TwitterView){ ... }

理想情况下,我希望我的require方法看起来如下…

require(includes, function(function(){return getParams()}));

BlogPost, BlogPosts, BlogPostIndexView, Tweet, Tweets, TwitterView是参数的names。我想,你不能真的把它们放在变量或函数中并返回它们。

你能做的是,你可以使用arguments在你的函数中访问它们。

所以你的代码看起来就像
require(includes, function(){
    var BlogPost = arguments[0],
        BlogPosts = arguments[1];
       ...
});

这可能会满足你对整洁的喜爱,但我不知道这是否是你想要的。

为什么不这样呢:

var params = {
    BlogPost: BlogPost,
    BlogPosts: BlogPosts,
    BlogPostIndexView: BlogPostIndexView,
    Tweet: Tweet,
    Tweets: Tweets,
    TwitterView: TwitterView
}
require(includes, function(params){ ... }

?

编辑

var params = [BlogPost, BlogPosts, BlogPostIndexView, Tweet, Tweets, TwitterView];
require(includes, function(params){ ... }