数组 字符串 常用操作
数组内是否有重复
//返回true 就是有重复
function isRepeat(array){ if(array.length === 0){ return false; } for(var i=0 ; i<array.length; i++){ var curV = array[i]; var count = 0; for(var j=0 ; j<array.length; j++){ if(curV === array[j]){ count += 1; } } if(count == 2){ return true; } } return false; }
jquery 添加数组与删除数组
//添加数组
function add(id){ if($.inArray(id, teacherIdArray) === -1) { xxxArray.push(id); } }
//删除数组 function remove(id){ var index = $.inArray(id, teacherIdArray); if(index !== -1) { xxxIdArray.splice(index , 1); } }
//添加
function addToArry(idVal,clzssName) {
if(findElem(classesArray, 'id', idVal) === -1) {
classesArray.push({'id':idVal,'name':clzssName});
}
}
//删除
function removeArry(idVal,clzssName) {
var index = findElem(classesArray, 'id', idVal);
if(index !== -1) {
classesArray.splice(index , 1);
}
}
/*按照属性值,查找对象 如果不存在返回-1*/
function findElem(arrayToSearch, attr, val) {
for (var i = 0; i < arrayToSearch.length; i++) {
if (arrayToSearch[i][attr] == val) {
return i;
}
}
return -1;
}
扩展indexof IE8版本不兼容
//添加数组IndexOf方法 if (!Array.prototype.indexOf){ Array.prototype.indexOf = function(elt /*, from*/){ var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (from < 0) from += len; for (; from < len; from++){ if (from in this && this[from] === elt) return from; } return -1; }; }
数组 常用操作
/*数组的属性*/ var arr=[1,3,34,45,44,88]; document.write(arr.constructor+"<br/>"); document.write(arr.length+"<br/>"); /*数组的方法*/ var arr2=["a","b","c","d"]; document.write(arr.concat(arr2)+"<br/>");/*合并数组*/ document.write(arr2.join("")+"<br/>");/*将数组转换成字符串,jion的参数是链接*/ document.write(arr2.pop()+"<br/>");/*删除数组最后一个元素,并返回删除的最后一个元素,返回d,但数组变为a,b,c*/ document.write(arr2+"<br/>"); document.write(arr2.push(arr)+"<br/>");/*往数组末位添加一个元素,并返回长度4*/ document.write(arr2+"<br/>"); document.write(arr2.reverse()+"<br/>");/*从反向排列*/ document.write(arr2.sort()+"<br/>");/*从反向排列*/ document.write(arr.shift()+"<br/>");/*删除数组第一个数,返回删除的内容*/ document.write(arr2.slice(2,3)+"<br/>");/*从第2位开始截取到第3位,返回一个新的数组,不影响原来的数组*/ document.write(arr2+"<br/>"); document.write(arr2.splice(0,1,"dfsd")+"<br/>");/*从第x位开始删除y位,添加第三个参数的内容*/ document.write(arr2.toString()+"<br/>");/*转化为字符串*/ document.write(arr2.valueOf());
字符串常用
var str="guoerwe3423iddddddddd"; document.write(str.charAt(4)+"<br/>");/*索引值*/ document.write(str.indexOf("ddd")+"<br/>");/*打印字母的索引值*/ document.write(str.lastIndexOf("d")+"<br/>");/*从最后开始往前找*/ var myExp=str.match(/\d/gi);/*匹配正则表达式的内容,返回一个匹配的数组*/ document.write(myExp+"<br/>"); var str2="how is every things going"; var arry2=str2.split(" ");/*将字符串转化为数组,参数为分割的内容。*/ document.write(arry2[2]+"<br/>"); document.write(str2.search(/is/gi)+"<br/>");/*使用search方式查找匹配元素,返回匹配的内容的索引值4*/ document.write(str2.replace("is","guoguo")+"<br/>");/*放入两个参数,第一个参数是替换的内容,第二个参数是替换的东西,返回替换后的字符串*/ var s=str2.slice(0,1);/*截取返回截取的内容*/ document.write(s+"<br/>"); var str3="dsfdsfdsfsdfds"; document.write(str3.substr(1,4)+"<br/>");/*从第1位开始向后截取4位,这个是数量*/ document.write(str3.substring(1,6)+"<br/>");/*从第1位开始截取到索引值6-1位*/