T.array.contains判断一个数组中是否包含给定元素

// Copyright (c) 2009, Baidu Inc. All rights reserved.

// 

// Licensed under the BSD License

// you may not use this file except in compliance with the License.

// You may obtain a copy of the License at

// 

//      http:// tangram.baidu.com/license.html

// 

// Unless required by applicable law or agreed to in writing, software

// distributed under the License is distributed on an "AS-IS" BASIS,

// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

// See the License for the specific language governing permissions and

// limitations under the License.

 /**

 * @namespace T Tangram七巧板

 * @name T

 * @version 1.3.9

*/



/**

 * 声明baidu包

 * @author: allstar, erik, meizz, berg

 */

var T,

    baidu = T = baidu || {version: "1.3.9"}; 



//提出guid,防止在与老版本Tangram混用时

//在下一行错误的修改window[undefined]

baidu.guid = "$BAIDU$";



//Tangram可能被放在闭包中

//一些页面级别唯一的属性,需要挂载在window[baidu.guid]上

window[baidu.guid] = window[baidu.guid] || {};





/**

 * @namespace baidu.array 操作数组的方法。

 */



baidu.array = baidu.array || {};



/**

 * 查询数组中指定元素的索引位置

 * @name baidu.array.indexOf

 * @function

 * @grammar baidu.array.indexOf(source, match[, fromIndex])

 * @param {Array} source 需要查询的数组

 * @param {Any} match 买卖IC网查询项

 * @param {number} [fromIndex] 查询的起始位索引位置,如果为负数,则从source.length+fromIndex往后开始查找

 * @see baidu.array.find,baidu.array.lastIndexOf

 *             

 * @returns {number} 指定元素的索引位置,查询不到时返回-1

 */

baidu.array.indexOf = function (source, match, fromIndex) {

    var len = source.length,

        iterator = match;

        

    fromIndex = fromIndex | 0;

    if(fromIndex < 0){//小于0

        fromIndex = Math.max(0, len + fromIndex)

    }

    for ( ; fromIndex < len; fromIndex++) {

        if(fromIndex in source && source[fromIndex] === match) {

            return fromIndex;

        }

    }

    

    return -1;

};





/**

 * 买卖IC网判断一个数组中是否包含给定元素

 * @name baidu.array.contains

 * @function

 * @grammar baidu.array.contains(source, obj)

 * @param {Array} source 需要判断的数组.

 * @param {Any} obj 要查找的元素.

 * @return {boolean} 判断结果.

 * @author berg

 */

baidu.array.contains = function(source, obj) {

    return (baidu.array.indexOf(source, obj) >= 0);

};



你可能感兴趣的:(contains)