数组的方法

1.数组的普通方法

        1. concat(X,X , X) 合并数组,该方法不会改变原数组(X可以是具体的值,也可以是数组,可以传任意多个)

var arr = [1, 2, 3]
var arr1 = arr.concat(4, 5)
console.log(arr);//返回的原数组
console.log(arr1);//返回新的数组

        2.push(X,Y)数组末尾添加,该方法会改变原数组(X(必填)为要添加数组的第一个元素,Y(选填)为要添加数组的第二个元素,可以添加多个元素)

var arr = [1, 2, 3]
var arr2 = [1, 2]
var arr1 = arr.push(1, 2, 3)
console.log(arr);

3.splice(x,y,z)向数组添加或删除,然后返回的是被删除的项目,该方法会改变原数组(x(必填,整数)为要添加或删除开始的位置。 y(必填 )为要删除几个数据,如果为0则不删除。y(选填)像数组添加新的项目)

var arr = [1, 2, 3]
var arr1 = arr.splice(1, 2, 4)
console.log(arr);
console.log(arr1);

4.slice(x,y)从已有数组中返回指定元素,不会改变原数组。(x(必填)从何处开始选取,y(选填)在何处停止截取,没有参数的话就从开始截取到结束)

var arr = [1, 2, 3]
var arr1 = arr.slice(1, 2)
var arr2 = arr.slice(1, )
console.log(arr);
console.log(arr1);
console.log(arr2);

5.pop() 方法将删除 arr的最后一个元素,把数组长度减 1,并且返回它删除的元素的值。如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值,该方法会改变原数组。

var arr = [1, 2, 3]
var arr1 = arr.pop()
console.log(arr);
console.log(arr1);

6.shift() 方法用于把arr的第一个元素从其中删除,并返回第一个元素的值。该方法会改变原数组

var arr = [1, 2, 3]
var arr1 = arr.shift()
console.log(arr);
console.log(arr1);

7. unshift() 方法可向数组的开头添加一个或更多元素,并返回数组长度,该方法会改变原数组

var arr = [1, 2, 3]
var arr1 = arr.unshift(5, 6, 7)
console.log(arr);
console.log(arr1);

reverse() 方法用于颠倒数组中元素的顺序,该方法会改变原数组

var arr = [1, 2, 3]
var arr1 = arr.reverse()
console.log(arr);
console.log(arr1);

9.indexOf()   获取元素在数组中的索引,从前面像后面查找,如果找到了就返回找到的第一个的索引,如果没有就返回-1。

var arr = [1, 2, 3, 1, 1]
var arr1 = arr.indexOf(1)
console.log(arr);
console.log(arr1);

10.lastIndexOf() 获取元素在数组中的索引,从后面像前面查找,如果找到了就返回找到的第一个的索引,如果没有就返回-1。

var arr = [1, 2, 3, 1, 1]
var arr1 = arr.lastIndexOf(1)
console.log(arr);
console.log(arr1);

11.sort()方法用于对数组的元素进行排序,该方法会改变原数组(a-b为升序,b-a为降序)

var arr = [1, 2, 3, 1, 1]
var arr1 = arr.sort(function(a, b) {
     return b - a
})
console.log(arr);
console.log(arr1);

12.join()方法用于把数组中的所有元素转换成字符串,如果括号不放参数,那么将用逗号隔开,该方法不会改变原数组

var arr = [1, 2, 3, 1, 1]
var arr1 = arr.join('.')
console.log(arr);
console.log(arr1);

2.数组的迭代方法

1.some若数组中的有一个元素满足条件,则返回true,若都不满足,则返回false

var arr = [1, 2, 3, 1, 1];
var flang = arr.some(function(itme) {
    return itme >= 3
})
console.log(flang);

2.every若数组中每一个元素都满足条件,则返回true,有一个不满足,则返回false

var arr = [1, 2, 3, 1, 1];
var flang = arr.every(function(itme) {
    return itme >= 3
})
console.log(flang);

3.filter方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var arr = [1, 2, 3, 1, 1];
var flang = arr.filter(function(itme) {
    return itme >= 2
})
console.log(flang);
console.log(arr);

4.map对原数组数据进行处理之后,返回新数组,该方法不会改变原数组

var arr = [1, 2, 3, 1, 1];
var flang = arr.map(function(itme) {
    if (itme > 2) {
        return itme + 2
    }
    return itme
})
console.log(flang);
console.log(arr);

5.reduce(function(a,b){}) 对原数组进行运算合并多维数组,返回一个新数组,该方法不会改变原数组

a的值第一次为arr的第一个值,第二次a为你计算或合并的值

var arr = [1, 2, 3, 1, 1];
    var flang = arr.reduce(function(a, b) {
    console.log(a, b);
    return a + b;
 })
console.log(flang);
console.log(arr);
//合并多维数组
var arr2 = [[10, 20, 30], ['hello'], [50, 100], [40], [70, 11, 22]];
var arrx = arr.reduce(function (a, b) {
    return a.concat(b)
})

6. forEach()方法用于调用数组的每个元素,并将元素传递给回调函数。

var arr = [1, 2, 3, 1, 1];
arr.forEach(function(value, index, array) {
//value:便利数组的内容
//index:对应数组的索引
//array:数组本身
    console.log(value, index, array);
})

上一篇:2021-09-25


下一篇:各种集合的集合