// 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 查询项
* @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;
};
/**
* 判断一个数组中是否包含给定元素
* @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);
};
转载于:https://www.cnblogs.com/ph580/archive/2011/06/15/2081720.html