数组的方法,数组方法讲解

发布于:2022-10-29 ⋅ 阅读:(379) ⋅ 点赞:(0)

1数组的方法

顺序 方法名 功能 返回值 是否改变原数组 版本
1 push() (在结尾)向数组添加一或多个元素 返回新数组长度 Y ES5-
2 unshift() (在开头)向数组添加一或多个元素 返回新数组长度 Y ES5-
3 pop() 删除数组的最后一位 返回被删除的数据 Y ES5-
4 shift() 移除数组的第一项 返回被删除的数据 Y ES5-
5 reverse() 反转数组中的元素 返回反转后数组 Y ES5-
6 sort() 以字母顺序(字符串Unicode码点)对数组进行排序 返回新数组 Y ES5-
7 splice() 在指定位置删除指定个数元素再增加任意个数元素 (实现数组任意位置的增删改) 返回删除的数据所组成的数组 Y ES5-
8 concat() 通过合并(连接)现有数组来创建一个新数组 返回合并之后的数组 N ES5-
9 join() 用特定的字符,将数组拼接形成字符串 (默认",") 返回拼接后的新数组 N ES5-
10 slice() 裁切指定位置的数组 被裁切的元素形成的新数组 N ES5-
11 toString() 将数组转换为字符串 新数组 N ES5-
12 indexOf() 查询某个元素在数组中第一次出现的位置 存在该元素,返回下标,不存在 返回 -1 N ES5-
13 forEach() (迭代) 遍历数组,每次循环中执行传入的回调函数 无/(undefined) N ES5-
14 map() (迭代) 遍历数组, 每次循环时执行传入的回调函数,根据回调函数的返回值,生成一个新的数组 有/自定义 N ES5-
15 filter() (迭代) 遍历数组, 每次循环时执行传入的回调函数,回调函数返回一个条件,把满足条件的元素筛选出来放到新数组中 满足条件的元素组成的新数组 N ES5-
16 every() (迭代) 判断数组中所有的元素是否满足某个条件 全都满足返回true 只要有一个不满足 返回false N ES5-
17 some() (迭代) 判断数组中是否存在,满足某个条件的元素 只要有一个元素满足条件就返回true,都不满足返回false N ES5-
18 reduce() (归并)遍历数组, 每次循环时执行传入的回调函数,回调函数会返回一个值,将该值作为初始值prev,传入到下一次函数中 最终操作的结果 N ES5-
19 includes() 判断一个数组是否包含一个指定的值. 是返回 true,否则false N ES6
20 find() 遍历数组,执行回调函数,回调函数执行一个条件,返回满足条件的第一个元素,不存在返回undefined 满足条件第一个元素/否则返回undefined N ES6
21 findIndex() 遍历数组,执行回调函数,回调函数接受一个条件,返回满足条件的第一个元素下标,不存在返回-1 满足条件第一个元素下标,不存在=>-1 N ES6

2方法的讲解

1 push

var arr = [1,2,3,4]
var lft = arr.push(5)
console.log(arr); //[1,2,3,4,5]
console.log(lft); //返回数组的总长度  5

2 unshift

var arr = [1,2,3,4]
var lft = arr.unshift(A)
console.log(arr); //[A,1,2,3,4]
console.log(lft); //返回数组的总长度  5

3 pop

var arr = [1,2,3,4]
var lft = arr.pop()
console.log(arr); //[1,2,3]
console.log(lft); //返回被删除的元素 //4

4 shift

var arr = [1,2,3,4]
var lft = arr.shift()
console.log(arr); //[2,3,4]
console.log(lft); //返回被删除的元素 //1

5 reverse

var arr = [1,2,3,4]
var lft = arr.reverse()
console.log(arr); //[4,3,2,1]
console.log(lft); //返回反转后数组 [4,3,2,1]

6 sort

var arr = [1,2,3,4]
var lft = arr.sort((a,b)=>{  //b-a排序从大到小 //a-b从小到大
    return b-a 
})
console.log(arr); //[4,3,2,1]
console.log(lft); //返回新的数组 [4,3,2,1]

7 splice

 var arr = ["a", "b", "c", 2, 3, 6];
    var rel = arr.splice(2, 1, "age1", "age2");
    console.log(arr);   //['a', 'b', 'age1', 'age2', 2, 3, 6]
    console.log(rel);   // 返回删除的数据所组成的数组 ['c']

8 concat

var arr1 = [1, 2, 3];
    var arr2 = ["a", "b", "c"];
    var arr3 = ["A", "B", "C"];
    var rel = arr1.concat(arr2, arr3);
    console.log(arr1); //原数组 [1, 2, 3]
    console.log(rel); //新数组 [1, 2, 3, 'a', 'b', 'c', 'A', 'B', 'C']

9 join

 var list = ["a", "b", "c", "d"]; // "a-b-c-d"
    var result = list.join("-");     //"a-b-c-d"
    var result = list.join("/");     //"a/b/c/d"
    var result = list.join("");      //"abcd"
    var result = list.join();        //  a,b,c,d
    console.log(result);

10 slice

  var list = ["a", "b", "c", "d"];
    var result = list.slice(1, 3);
    console.log(result);  // ["b", "c"]

11 toString

 var list = ["a", "b", "c", "d"];
    var rel = list.toString();
    console.log(rel);   // a,b,c,d   (字符串类型)

12 indexOf

 var list = [1, 2, 3, 4];
    var index = list.indexOf(4); //3
    var index = list.indexOf("4"); //-1
    console.log(index);

13 forEach

 var list = [32, 93, 77, 53, 38, 87];
    var res = list.forEach(function (item, index, array) {
      console.log(item, index, array);
    });
    console.log(res);
// 打印结果
32 0 Array(6)
数组的方法.html:16 93 1 Array(6)
数组的方法.html:16 77 2 Array(6)
数组的方法.html:16 53 3 Array(6)
数组的方法.html:16 38 4 Array(6)
数组的方法.html:16 87 5 Array(6)
数组的方法.html:18 undefined

14 map

    var list = [32, 93, 77, 53, 38, 87];
    var res = list.map(function (item, index, array) {
      return item + 5 * 2;
    });
    console.log("原数组", list);//原数组  0: 32
                                        1: 93
                                        2: 77
                                        3: 53
                                        4: 38
                                        5: 87
    
     console.log("新数组", res); //新数组  0: 42
                                         1: 103
                                         2: 87
                                         3: 63
                                         4: 48
                                         5: 97

15 filter

var list = [32, 93, 77, 53, 38, 87];
    var resList = list.filter(function (item, index, array) {
      return item >= 60; // true || false
    });
    console.log(resList) //[93, 77, 87]

16 every

var list = [32, 93, 77, 53, 38, 87];
    var result = list.every(function (item, index, array) {
      console.log(item, index, array); // 32 0 [32, 93, 77, 53, 38, 87]
      return item >= 50;
    });
    console.log(result) //false

17 some

 var list = [32, 93, 77, 53, 38, 87];
 var result = list.some(function (item, index, array) {
  console.log(item, index, array); // 32 0 [32, 93, 77, 53, 38, 87]
      return item >= 50;
    });
    console.log(result) //true

18 reduce

   var arr = [2, 3, 4, 5];
    var sum = arr.reduce(function (prev, item, index, array) {
      console.log(prev, item, index, array); 2 3 1  [2, 3, 4, 5]
                                             5 4 2  [2, 3, 4, 5]
                                             9 5 3  [2, 3, 4, 5]
      return prev + item;
    });
    console.log(arr, sum); //  [2, 3, 4, 5] 14

19 includes

let site = ['runoob', 'google', 'taobao'];
 
site.includes('runoob'); 
// true 
 
site.includes('baidu'); 
// false

20 find

var list = [55, 66, 77, 88, 99, 100];
    var res= list.find(function (item, index, array) {
      return item > 60;
    });
    console.log(res); //66

21 findIndex

var list = [55, 66, 77, 88, 99, 100];
    var index = list.findIndex(function (item, index, array) {
      console.log(item, index, array);
      return item > 60;
    });
    console.log(index); // 1
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到