数组方法
数组方法之添加元素:
push()在数组后面添加一个元素或者多个元素;
用法:
var arr = []; arr.push(1); arr.push(2,3,4); console.log(arr); //1,2,3,4
unshift()在数组前面添加一个元素或多个元素;
用法:
var arr = []; arr.unshift(1); arr.unshift(2,3,4); console.log(arr); //2,3,4,1
数组方法之删除元素:
pop()删除数组的最后一个元素,一次只能删除一个元素,并且会返回被删除的元素;
用法:
var arr = [1,2,3,4]; arr.pop(); console.log(arr); //1,2,3
shilt()删除数组的第一个元素,一次只能删除一个,并且会返回被删除的元素;
用法:
var arr = [1,2,3,4]; arr.shift(); console.log(arr); //2,3,4
join()方法将数组所有元素转化为字符串并连接在一起
用法:
var a = [1,2,3,4]; console.log(a.join()); //1,2,3,4 console.log(a.join(" ")); //1 2 3 4 console.log(a.join("")); //1234 console.log(a.join("-")); //1-2-3-4
reverse()方法将数组颠倒
var a = [1,2,3]; a.reverse(); console.log(a); //3,2,1
sort方法对数组排序,不带参按照字母表排序
var a = ['banner', 'cherry', 'apple']; a.sort(); console.log(a); //apple,banner,cherry var b = [33, 4, 1111, 222]; b.sort(function(a,b){ return a-b; //a-b从小到大 b-a从大到小 }) console.log(b); //4,33,222,1111
concat()方法创建并返回一个新的数组,元素包括调用concat的原始数组的元素和concat()的每个参数。
用法:
var a = [1,2,3]; //a.concat(4,5); //返回的是[1,2,3,4,5] //a.concat([4,5]); //返回的是[1,2,3,4,5] //a.concat([4,5],[6,7]) //返回的是[1,2,3,4,5,6,7] var b =a.concat(4,[5,[6,7]]) console.log(b); //返回的是[1,2,3,4,5,[6,7]]
slice()方法指定数组返回一个片段或子数组,两个参数分别指定了片段开始和结束的位置,返回的数组从第一个参数的位置到第二个参数位置的前一个位置的元素。
当只有一个参数,则返回的数组包括从该参数位置往后的所有元素,若参数出现负数,表示相对于数组中的最后一个元素的位置
用法:
var a= [1,2,3,4,5,6]; var b = a.slice(0,3); console.log(b); //1,2,3 var c = a.slice(3); console.log(c); //4,5,6 var d = a.slice(1,-1); console.log(d); //2,3,4,5
splice()方法是在数组中插入或是删除元素的通用方法,会修改数组(不同于上面的concat()和slice()方法会生成新的数组而不更改原数组)
它能够从数组中删除元素,插入元素到数组中,或者同时执行这两步,返回的是一个由删除元素组成的数组,没有删除元素就返回一个空数组
用法:
var a = [1,2,3,4,5,6,7,8]; //第一个参数指定插入删除的开始位置,第二个参数指定了应该从数组中删除的元素个数 a.splice(4); //返回[5,6,7,8]; a被改为[1,2,3,4] a.splice(1,2); //返回的是[2,3]; a又被改为[1,4] //前面两个参数后面的参数是要插入的元素值 var b = [1,2,3,4,5]; b.splice(2,0,'a','b'); //返回[]; b被改为1,2,a,b,3,4,5 b.splice(2,2,3,4,5); //返回[a,b]; b被改为1,2,3,4,5,3,4,5
indexOf()方法和lastIndexOf()用于查询数组中是否有要查询的值
用法:
//indexOf第一个参数是要查询的值,第二个参数(可选)开始查询的位置,当有多个相同的,只返回查询时最近的索引 var a = [1,2,2,3,4,5]; a.indexOf(2); //返回1 console.log(a.indexOf(4,2)); //返回4 //lastIndexOf第一个参数也是要查询的值,第二个参数是要开始查询的位置,可以写为负值,-1为数组最后一个值 var b = [5,6,8,7,8,9]; console.log(b.lastIndexOf(8)); //返回4 console.log(b.lastIndexOf(8,-3)); //返回的是2
扩展:对一个数组元素使用delete不会修改数组的length属性
例:
var ary = [1,2,3]; delete ary[0]; console.log(ary); //2,3 console.log(ary.length); //3

浙公网安备 33010602011771号