1. 程式人生 > >underscorejs之_.contains(list, item, fromIndex, guard)

underscorejs之_.contains(list, item, fromIndex, guard)

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

var
result; // 數組進行檢索 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)