js数组查找某个元素位置(js数组和对象的区别)
JavaScript数组多种方法以及字符串方法的功能你了解多少??(学了多种语言后,你会发现他们都是有很多共同之处的)
数组方法
indexOf
数组可以通过indexOf()来搜索一个指定的元素的位置,如未找到返回 -1;
var arr = [10,20,&”30&″,&”abc&”];
console.log(arr.indexOf(10)); //元素10的索引为0
console.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次pop
arr; //打印[]
arr.pop(); //空数组继续pop不会报错,而是返回undefined
arr;//打印[]
unshift和shift
unshift() 向数组前面添加若干元素,shift() 则把数组的第一个元素删除掉
var arr = [1,2];
arr.unshift(&“a&”,&”b&”); //返回新长度 4
arr;//打印[&“a&”,&”b&”,1,2]
arr.shift();//返回&”a&”
arr; //打印[&“b&”,1,2]
arr.shift();arr.shift();arr.shift(); //连续3次
arr; //打印[]
arr.shift(); //空数组继续删除不报错,返回undefined
arr; //打印[]
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();8
arr; //[&“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()
转大写