JavaScript数组多种方法以及字符串方法的功能你了解多少??(学了多种语言后,你会发现他们都是有很多共同之处的)
数组方法
indexOf
数组可以通过indexOf()来搜索一个指定的元素的位置,如未找到返回 -1;
var arr = [10,20,”30″,”abc”];console.log(arr.indexOf(10)); //元素10的索引为0console.log(arr.indexOf(30)); //元素30未找到,返回-1//注意:数字30和字符串”30″是不同元素
concat
concat()方法把当前的 数组 和 另一个 数组连接起来,并返回一个新的 数组;
var arr1 = [“a”,”b”,”c”];var arr2 = [1,2,3];var newArr = arr1.concat(arr2,”再次添加”);newArr; //[“a”,”b”,”c”,1,2,3,”再次添加”];arr1; //[“a”,”b”,”c”]
push和pop
push()向数组的末尾添加若干元素,pop() 则把 数组的最后一个元素删除掉
var arr = [1,2];arr.push(“a”,”b”);console.log(arr);//[1,2,”a”,”b”]arr.pop(); //pop() 返回“b”;arr; //打印[1,2,”a”]arr.pop();arr.pop();arr.pop(); //连续3次poparr; //打印[]arr.pop(); //空数组继续pop不会报错,而是返回undefinedarr;//打印[]
unshift和shift
unshift() 向数组前面添加若干元素,shift() 则把数组的第一个元素删除掉
var arr = [1,2];arr.unshift(“a”,”b”); //返回新长度 4arr;//打印[“a”,”b”,1,2]arr.shift();//返回”a”arr; //打印[“b”,1,2]arr.shift();arr.shift();arr.shift(); //连续3次arr; //打印[]arr.shift(); //空数组继续删除不报错,返回undefinedarr; //打印[]
slice
slice() 截取数组的部分元素,然后返回一个新的数组
var arr = [“a”,”b”,”c”,”d”,”e”,”f”,”g”];console.log(arr.slice(0,3)); //从索引0开始,到索引3结束,但不包括3:[“a”,”b”,”c”]console.log(arr.slice(3)); //从索引3开始到结束:”d”,”e”,”f”,”g”
如果不给slice()传递任何参数,他就会从头到尾截取所有元素。利用这一点,可以很容易的复制一份新的数组
var arr = [1,2,3];var aCopy = arr.slice();aCopy; //[1,2,3]
sort
sort() 可以对当前数组排序
var arr = [“b”,”c”,”a”];arr.sort();arr;//[“a”,”b”,”c”]
reverse
reverse() 把整个数组的元素给掉个个,也就是反转
var arr = [“one”,”two”,”three”];arr.reverse();8arr; //[“three”,”two”,”one”]
join
join() 方法把数组的每个元素用指定的字符串连接起来,然后新的字符串
var arr = [“a”,”b”,”c”,1,2,3];arr.join(“-“); //”a-b-c-1-2-3″
splice
splice() 方法是修改数组的“万能方法”,他可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素;
//splice(索引值,删除数量,”值1″,”值2″);var arr = [“苹果”,”橘子”,”香蕉”,”芋头”,”桂圆”,”山楂”];//从索引2开始删除3个元素,然后再添加两个元素arr.splice(2,3,”白梨”,”西瓜”);console.log(arr); // “苹果”,”橘子”,”白梨”,”西瓜”,”山楂”//只删除,不添加arr.splice(2,2); //”白梨”,”西瓜”console.log(arr); //”苹果”,”橘子”,”山楂”//只添加,不删除arr.splice(2,0,”白梨”,”西瓜”);console.log(arr);// “苹果”,”橘子”,”白梨”,”西瓜”,”山楂”
字符串的方法
slice()
slice(start[,end]),start–开始索引 end–结束索引
var str = “中华人民共和国”;var str1 = str.slice(2,4); //人民
substr()
substr(start[,length]),start:开始,取length个字符
var str = “中华人民共和国”;var str1 = str.substr(2,5); //人民共和国
split()
split([separator[,limit]]),按条件分割字符串,返回数组
var str = “中华人民共和国”;var arr = str.split(“”); //[“中”, “华”, “人”, “民”, “共”, “和”,”国”]var str1 = “杏|石|口|路|81|号”;var arr1 = str1.split(“|”); //[“杏”, “石”, “口”, “路”, “81”, “号”]
indexOf()
在父串中首次出现的位置,从0开始!没有返回-1
lastIndexOf()
倒序查找
charAt(index)
charAt(index) 指定索引的字符
toLowerCase()
转小写
toUpperCase()
转大写