js常用数组/字符串方法与遍历
Introduce
唔,以前学习基础打得不牢,每次需求到手,都要到处百度查询,于是干脆整理一份自己用过的方法把
js数组常用方法
字符串连接
var arr1 = [1,2,3]; var arr2 = [4,5,6]; var arr3 = arr1.concat(arr2); console.log(arr3) //(6) [1, 2, 3, 4, 5, 6] var arr1 = [1,2,3]; var arr2 = [(4,5),6]; var arr3 = arr1.concat(arr2); console.log(arr3) //(5) [1, 2, 3, 5, 6] //顺便解释一下,这里4不见了 只有5是逗号操作符的问题,只返回最后一个 var arr1 = [1,2,3]; var arr2 = [[4,5],6]; var arr3 = arr1.concat(arr2); console.log(arr3) //(5) [1, 2, 3, Array(2), 6]
数组转字符串
var strArr = ['i','am','jontyy']; console.log(strArr.join()); //i,am,jontyy console.log(strArr.join('-')); //i-am-jontyy console.log(strArr.join('')); //iamjontyy //字符串转数组是 split方法
删除数组最后一个
var stackArr = [1,2,3,4]; stackArr.pop(); console.log(stackArr); //[ 1, 2, 3 ]
数组末尾添加
var arr = [1,2,3]; arr.push(4); console.log(arr); //[ 1, 2, 3, 4 ] arr.push(5,6); console.log(arr); //[ 1, 2, 3, 4, 5, 6 ]
数组内容反转
var initArr = [1,2,3]; initArr.reverse(); console.log(initArr); //[ 3, 2, 1 ] // 如果不想用这个办法,可以把数组第一个和最后一个交换,一直交换到结束
删除数组头部第一个元素
var arr4 = [1,2,3,4]; var x = arr4.shift(); console.log(x) //1 console.log(arr4); //[ 2, 3, 4 ]
数组头部添加一个或者多个元素
var arr5 = [4,5]; arr5.unshift(3); console.log(arr5); //[ 3, 4, 5 ] arr5.unshift(1,2); console.log(arr5); //[ 1, 2, 3, 4, 5 ]
数组排序
var arrs = [1,3,5,2,4]; arrs.sort(); console.log(arrs); //[ 1, 2, 3, 4, 5 ] //排序里面可以添加函数,来决定排序的前后 arrs.sort(function (a,b){ return a - b; }); console.log(arrs); //[ 1, 2, 3, 4, 5 ] arrs.sort(function (a,b){ return b - a; }); console.log(arrs); //[ 5, 4, 3, 2, 1 ]
截取数组
//截取数组 arrs.slice(start,end); //start参数必需,从何处开始选取,包括start。如果为负数,会从尾部选取,比如-1代表最后一个元素。前开后闭 //end参数可选,从何处结束选取,不包括end。如果没有指定该参数,数组会包含从start开始到数组结束的所有元素。 //如果该参数是负数的话,表示从数组尾部开始算起的元素。 var arr6 = [1,2,3,4,5]; console.log(arr6.slice(1)); //[ 2, 3, 4, 5 ] console.log(arr6.slice(1,3)); //[ 2, 3 ] console.log(arr6.slice(1,-1)); //[ 2, 3, 4 ]
插入,删除替换数组
//其实都是同一个函数,根据参数来变换 //插入、删除和替换数组的元素 //Array.splice(index,howmany,element1,.....elementX); //index必需,从何处添加、删除元素,开始插入或删除数组元素的下标 //howmany必需,应该删除多少个元素,可以为0,如果未设定该参数,则删除从index开始到数组结尾的所有元素 //element1可选,添加到数组中的新元素,从index下标开始插入 //elementX可选,可向数组中添加若干个元素 var arr7 = [1,2,3,4,5,6]; arr7.splice(1,0,8); console.log(arr7); //[ 1, 8, 2, 3, 4, 5, 6 ] arr7.splice(2,1); console.log(arr7); //[ 1, 8, 3, 4, 5, 6 ] arr7.splice(1,1,10); console.log(arr7); //[ 1, 10, 3, 4, 5, 6 ]
js数组遍历几种方法
forEach
var arr = [1,2,3,4,5,6]; arr.forEach(function(item,index){console.log('内容' + item + '索引' + index)}) //内容1索引0 // 内容2索引1 // 内容3索引2 // 内容3索引2 // 内容5索引4 // 内容6索引5
every
var arr = [1,2,3,4,5,6]; result = arr.every(function(item,index){return item > 2}) //false result = arr.every(function(item,index){return item > 0}) //true
reduce
var arr = [1,2,3,4,5,6]; arr.reduce(function(pase,now){return pase + now}) //21
map
var arr = [1,2,3,4,5,6]; arr.map(function(item, index){console.log(item, index); return item *2}) //1 0 //2 1 //3 2 //4 3 //5 4 //6 5 //0 2 //1 4 //2 6 //3 8 //4 10 //5 12
for …in
var arr = [1,2,3,4,5,6]; for (var i in arr) { console.log(arr[i]); } //1 //2 //3 //4 //5 //6
for …of
var arr = [1,2,3,4,5,6]; for (var value of arr) { console.log(value) } // 1,2,3,4,5,6
js字符串常用方法总结
charAt(index)
var str = 'iamjontyy' str.charAt(3) // j
charCodeAt (index)
var str = 'iamjontyy' str.charCodeAt(3) //106
fromCharCode (num)
String.fromCharCode(100,101) //"de"
indexOf (str, char)
'hello'.indexOf('ll',0); //2
lastIndexOf
'hello'.lastIndexOf('e') //1
substring
'asdasdasdasd'.substring(3,7) //"asda" 'asdasdasdasd'.substring(3) //"asdasdasd"
slice
'asdasdasdasd'.slice(3,7) //"asda" 'asdasdasdasd'.slice(3) //"asdasdasd" //后期会单独做一个substring和slice的区别的,但是基本用途一样
split
'asdasdasdasd'.split() //["asdasdasdasd"] 'asdasdasdasd'.split('') //(12) ["a", "s", "d", "a", "s", "d", "a", "s", "d", "a", "s", "d"] 'asdasdasdasd'.split('s') //(5) ["a", "da", "da", "da", "d"]
replace
'asdasdasdasd'.replace('a','---') //"---sdasdasdasd"
match
最近在整理正则表达式的匹配,整理好了放在正则表达式里说把
writer&contact
{
"name":"Jontyy" ,
"email": " [email protected]"
}