JavaScript中数组Array的常用方法有哪些( 二 )


替换:可以向指定位置插入任意数量的项,且同时删除任意数量的项,只需指定 3 个参数:起始位置、要删除的项数和要插入的任意数量的项 。插入的项数不必与删除的项数相等 。例如,splice (2,1,4,6)会删除当前数组位置 2 的项,然后再从位置 2 开始插入4和6 。
splice()方法始终都会返回一个数组,该数组中包含从原始数组中删除的项,如果没有删除任何项,则返回一个空数组 。
var arr = [1,3,5,7,9,11];var arrRemoved = arr.splice(0,2);console.log(arr); //[5, 7, 9, 11]console.log(arrRemoved); //[1, 3]var arrRemoved2 = arr.splice(2,0,4,6);console.log(arr); // [5, 7, 4, 6, 9, 11]console.log(arrRemoved2); // []var arrRemoved3 = arr.splice(1,1,2,4);console.log(arr); // [5, 2, 4, 4, 6, 9, 11]console.log(arrRemoved3); //[7]
12.valueOf()功能:返回数组的原始值(一般情况下其实就是数组自身),一般由js在后台调用,并不显式的出现在代码中
var arr = [1,2,3];console.log(arr.valueOf()); //[1,2,3]console.log(arr); //[1,2,3]//为了证明返回的是数组自身console.log(arr.valueOf() == arr); //true
13.indexOf()功能:根据指定的数据,从左向右,查询在数组中出现的位置,如果不存在指定的数据,返回-1 。该方法是查询方法,不会对数组产生改变 。
参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1
var arr = [ h , e , l , l , o console.log(arr.indexOf( l )); //2console.log(arr.indexOf( l ,3)); //3console.log(arr.indexOf( l ,4)); //-1console.log(arr.indexOf( l ,-1)); //-1console.log(arr.indexOf( l ,-3)); //2
14.lastIndexOf()功能:根据指定的数据,从右向左,查询在数组中出现的位置,如果不存在指定的数据,返回-1 。该方法是查询方法,不会对数组产生改变 。
参数:lastIndexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1
var arr = [ h , e , l , l , o console.log(arr.lastIndexOf( l )); //3console.log(arr.lastIndexOf( l ,3)); //3console.log(arr.lastIndexOf( l ,1)); //-1console.log(arr.lastIndexOf( l ,-3)); //2console.log(arr.lastIndexOf( l ,-4)); //-1
15.forEach()功能:对数组进行遍历循环,对数组中的每一项运行给定函数 。这个方法没有返回值 。
参数:都是function类型,默认有传参,参数分别为:遍历的数组内容;第对应的数组索引,数组本身 。
var arr = [1, 2, 3, 4, 5];arr.forEach(function(x, index, a){console.log(x +|+ index +|+ (a === arr));// 输出为:// 1|0|true// 2|1|true// 3|2|true// 4|3|true// 5|4|true
16.map()功能:对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组 。
如果你想要数组里的每一个值都发生变化就使用map
let arr = [10, 30, 50, 60, 120, 230, 340, 450] let newArr = arr.map(n ={ return n * 2 }) console.log(newArr);
17.filter()功能: 过滤,数组中的每一项运行给定函数,返回满足过滤条件组成的数组 。
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];var arr2 = arr.filter(function(x, index) {return index % 3 === 0 || x= 8;}); console.log(arr2); //[1, 4, 7, 8, 9, 10]
18.every()功能:判断数组中每一项都是否满足条件,只有所有项都满足条件,才会返回true 。
var arr = [1, 2, 3, 4, 5];var arr2 = arr.every(function(x) {return x10;}); console.log(arr2); //truevar arr3 = arr.every(function(x) {return x3;}); console.log(arr3); // false
19.some()【JavaScript中数组Array的常用方法有哪些】功能: 判断数组中是否存在满足条件的项,只要有一项满足条件,就会返回true 。
var arr = [1, 2, 3, 4, 5];var arr2 = arr.some(function(x) {return x3;}); console.log(arr2); //truevar arr3 = arr.some(function(x) {return x1;}); console.log(arr3); // false

推荐阅读