📅  最后修改于: 2023-12-03 14:48:10.045000             🧑  作者: Mango
Underscore.js是JavaScript中一个广受欢迎的函数库,它提供了一系列常用的函数和工具,可以方便地操作和处理数组、对象、函数等。其中,_.contains函数用于判断一个数组或者对象中是否包含某一个值。
_.contains(collection, value, [fromIndex])
函数的返回值为布尔值,表示要查找的值是否在集合中存在。
_.contains([1, 2, 3], 2); // true
_.contains({ name: 'Tom', age: 18 }, 'Tom'); // false
_.contains('Hello world', 'l'); // true
_.contains(['apple', 'banana', 'orange'], 'grape', 2); // false
在上面的例子中,我们分别使用了数组、对象、字符串和指定开始搜索位置的形式来使用_.contains函数。
下面是_.contains函数的源码实现:
_.contains = _.includes = _.include = function(obj, item, fromIndex, guard) {
if (!isArrayLike(obj)) obj = _.values(obj);
if (typeof fromIndex != 'number' || guard) fromIndex = 0;
return _.indexOf(obj, item, fromIndex) >= 0;
};
该函数内部调用了_.indexOf函数,判断要查找的值在数组或对象中是否存在。
_.contains函数是Underscore.js中一个非常有用的函数,可以用于判断数组或对象中是否包含某一项。在实际开发中,我们可以通过其返回值来进行下一步操作。如果返回true,则表示集合中包含要查找的值,否则表示不包含。