【Underscore.js】_.someを読んだ
jashkenas/underscoreの_.someを読んだ。
概要
_.some(list, [predicate], [context])
listの値をpredicateに渡し、trueになるものがあればtrueを返す。
var list = [1, 2, 3, 4, 5]; var x = _.every(list, function(n) { return n > 3; }); console.log(x); // true
ソースコード
_.some = _.any = function(obj, predicate, context) { predicate = cb(predicate, context); var keys = !isArrayLike(obj) && _.keys(obj), length = (keys || obj).length; for (var index = 0; index < length; index++) { var currentKey = keys ? keys[index] : index; if (predicate(obj[currentKey], currentKey, obj)) return true; } return false; };
_.everyの時と下記の判定で返すものが反対になったもの。
if (predicate(obj[currentKey], currentKey, obj)) return true;