underscorejs之_.contains(list, item, fromIndex, guard)
阿新 • • 發佈:2017-09-30
nta nts core ole 字符 div 指定 class from
語法:
_.contains(list, item, fromIndex, guard)
說明:
list集合包含指定的值則返回true,否則返回false
- list可以為數組,對象,字符串和arguments
- item是一個參數(contains會處理list中是否包含此參數),可以為數字,字符串
- fromIndex是一個數字,根據此索引決定list開始檢索的位置,可為正值,也可為負值;(負值不是真正的負值,而是list的倒數,下面會詳細講解);若非數字則fromIndex的索引從0開始
代碼示例:
示例一:contains對list根據item進行檢索,包含item則返回true
varresult; // 數組進行檢索 result = _.contains([1, 2, 3], 2); console.log(result) //=> true // 對象進行檢索 result = _.contains({x: 1, y: 2, z: 3}, 2); console.log(result) //=> true // 字符串進行檢索 result = _.contains(‘123‘, "2"); console.log(result) //=> true // arguments進行檢索 function abc(){ result = _.contains(arguments, 2); console.log(result);//=> true } abc(1, 2, 3);
示例二:item屬性
var result; // item為數字 result = _.contains([‘1‘, 2, ‘3‘], 2); console.log(result) //=> true // item為字符串 result = _.contains({x: ‘1‘, y: ‘2‘, z: ‘3‘ }, "4"); console.log(result) //=> false // item為bool result = _.contains([0, false], true); console.log(result) //=> false
示例三:fromIndex索引值(可為正值,也可為負值,非number類型則fromIndex默認為0)
var result; // item為數字 result = _.contains([1, 2, 3], 3, 0); console.log(result) //=> true // item為字符串 result = _.contains([1, 2, 3], 3, "3"); console.log(result) //=> true // item為負值 result = _.contains({x: ‘1‘, y: ‘2‘, z: ‘3‘ }, "3", -1); console.log(result) //=> true result = _.contains({x: ‘1‘, y: ‘2‘, z: ‘3‘ }, "2", -1); console.log(result) //=> false 由此可看出當fromIndex為負值的時候,fromIndex是根據list最後一位倒數
contains也可有第四個參數guard;
示例一:guard為真值的情況fromIndex的索引從0開始;(這個屬性官方沒有做出明確的說明,只是個人理解,若有更好的建議,可以聯系作者)
var result; // guard為空,則根據fromIndex索引進行檢索 result = _.contains([‘a‘, ‘b‘, ‘c‘], ‘c‘, 2); console.log(result) //=> true // guard為true result = _.contains([‘a‘, ‘b‘, ‘c‘], ‘c‘, 3, true); console.log(result) //=> true // guard為false result = _.contains([‘a‘, ‘b‘, ‘c‘], ‘c‘, 3, false); console.log(result) //=> false
underscorejs之_.contains(list, item, fromIndex, guard)