我们可以按照自己设置的条件,把一个数组分割成两个部分,一部分是满足条件的项目,另一个部分是不符合条件的项目。要用到的方法是 Underscore 的 partition ...
现在这里有一个 albums 数组,里面有几个项目 ... 我们可以把这分割成两个部分,一部分是 releaseYear 是 1992 年的专辑 ... 另一部分就是 releaseYear 不是 1992 年的专辑项目 ...
partition ... 先指定一下要分割的数组 ... 这里就是 albums ... 然后再设置一下条件,可以用一个函数返回这个条件 ... 用 album 表示数组里面的每个项目 ... 然后 return ... 返回的是 album 的 releaseYear 属性的值,等于 1992 ...
_.partition(albums, function(album){ return album.releaseYear === 1992; })
返回的结果就是一个大的数组,里面分成了两小部分,第个部分又是一个数组 ... 第一部分是符合条件的项目 ... 你会看到,这个项目的 releaseYear 属性的值是 1992 ...
另一部分就是不符合条件的项目 ... 这些项目也会放在一个数组里面。