var Bible = JSON.parse( fs.readFileSync(bible.json, 'utf8') );_.each(Bible, function (b, Book) { return Book;});

这将从圣经中输出每本书的名称(例如创世纪,出埃及记,利未记等)。问题是JSON文件中的书不整齐。我试图以各种方式对它们进行排序,但是在_.each循环内似乎没有任何可能。当我这样做时:

correctlyOrderedList.indexOf(Book) - correctlyOrderedList.indexOf(b);

它正确返回了每个索引,但是据我所知,我仍然无法在).each循环中对它们进行排序。是否可以在_.each循环之前对其进行排序,还是可以在其中进行排序?

最佳答案

您不能在each内进行排序,因为那已经太晚了。
但是您可以在使用_.each之前进行排序:

var Bible = JSON.parse( fs.readFileSync(bible.json, 'utf8') );
Bible.sort(); // sorts in place
_.each(Bible, function (b, Book) {
  return Book;
});


或将排序后的值作为参数传递给each

var Bible = JSON.parse( fs.readFileSync(bible.json, 'utf8') );
_.each(Bible.sort(), function (b, Book) {
  return Book;
});

09-26 14:20