数组的操作
concat()合并数组,并返回合并之后的数据
join()使用分隔符,将数组转为字符串并返回
pop()删除最后一位,并返回删除的数据
shift()删除第一位,并返回删除的数据
unshift()在第一位新增一或多个数据,返回长度
push()在最后一位新增一或多个数据,返回长度
reverse()
反转数组,返回结果
slice()
截取指定位置的数组,并返回
sort()
排序(字符规则),返回结果
splice()
删除指定位置,并替换,返回删除的数据
toString()
直接转为字符串,并返回
valueOf()
返回数组对象的原始值
lastIndexOf()
反向查询并返回数据的索引
every()
同forEach,同时回调函数返回布尔值,全部为true,由every返回true
some()
同forEach,同时回调函数返回布尔值,只要由一个为true,由some返回true
reduce()
归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduce返回
reduceRight()
反向归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduceRight返回
ES5新增数组常见方法(indexof/forEach/map/filter)
新增的数组常见方法:以下说明中,红色为必选参数,蓝色为可选参数
1.indexOf(data,start);
用于返回某个数组或者字符串中规定字符或者字符串的位置;
var arr = ["a","b","c","d","e"];
arr.indexOf("a"); //0
//返回当前查询字符所在的位置的下标,如果查询不到,返回-1,start表示从第几位开始查询。
2.forEach(callback); 循环,遍历数组
var arr = [2,3,4,5,6,7,8];
arr.forEach(function(value,index,arr){
console.log(value,index,arr);
//函数中的三个参数分别代表,该项的值,该项下标,数组本身
})
3.map(callback); 会遍历当前数组,然后调用参数中的方法,返回当前方法的返回值;
3.1 执行次数和参数,参考forEach
var arr = [2,3,4,5,6];
arr.map(function(value,index,arr){
console.log(value,index,arr);
})
3.2 返回值 及 应用
map不会改变原有数组,而是将函数执行一次之后的返回值组成一个新数组,返回出来
var arr = [2,3,4,5,6];
var newArr = arr.map(function(value,index,arr){
return value-1;
})
console.log( newArr ); //得到一个经过计算的数组
4.filter(callback); 同map方法,返回值为布尔值true 的时候,才会返回该数据
4.1 同map的3.1
4.2 filter不会改变原有数组,而是将函数执行一遍,只有在布尔值为true的时候才会返回该数据
var arr = [2,3,4,5,6];
var newArr = arr.filter(function(value,index,arr){
return value > 3;
})
console.log( newArr ); //得到一个经过筛选的数组
字符串常见API(indexOf/charAt/substring/slice/split/replace)
1.indexOf(data,start); //用于返回某个数组或者字符串中规定字符或者字符串的位置;
var str = "abcdefg”;
str.indexOf("a"); //0 返回当前查询字符所在的位置的下标,如无,返回-1,start表示从第几位开始查询。
2.charAt(index); //返回指定位置的字符,index为下标
3.substr(n,m);
4.substring(n,m); //返回从指定位置n,到结束位置(不含)m 的字符串,如果不指定结束位置,则从开始位置到结尾
5.slice(n,m); //同substring,需要注意和数组中方法slice()的相似
6.split("-"); //通过指定字符分割字符串,返回一个数组
7.replace("需要替换的字符串","替换之后的字符串") //将字符串中的一些字符替换为另外一些字符。最好配合正则使用
整数数组/字符串数组/对象数组/二维数组
整数数组:arr = [1,2,3,4,5,6,7]
数组的元素为整数
字符串数组:arr = ["h","e","l","l","o”]
数组的元素为字符串
json对象数组:arr = [{name:"Lisa"},{name:"Jack"},{name:"Loss"}]
数组的元素为对象
如何获取对象数组内的元素:arr[1].name; //Jack
二维数组:arr = [[1,"a",3],["hello",6,8],["color","width"]]
数组的元素为数组
如何获取而为数组内的元素:arr[2][1]; //width