第八讲 数组(遍历数组新方法、数组对象-方法 )

一、遍历数组新方法

1、使用forEach遍历数组,无返回值

语法:forEach(function(value, index, item){})

var arr = ["a", "b", "c", "d"];

// value 数组中每个值

// index value在数组中对应的下标

// item 数组本身

arr.forEach(function (value, index, item) {

    console.log(value, index, item);

});

2、使用map遍历数组,返回新处理的数组

var arr = [1, 2, 3, 4];

var test2 = arr.map(function(value, index, item) {

    console.log(value, index, item);    

return value * value;

});

console.log(test2);// [1, 4, 6, 19]

二、数组对象-方法 

方  法

说明

pop()

删除最后一个元素,返回最后一个元素

push (元素1,元素2,……)

添加元素,返回数组的长度

splice(位置,多少[,元素1,元素2,……])

从数组中删除或替换元素

sort()

排序数组

reverse()

颠倒数组中元素顺序

 1、数组对象 ——方法

(1)pop() 方法用于删除并返回数组的最后一个元素。

语法 :arrayObject.pop()

注意:

pop() 方法将删除 arrayObject 的最后一个元素,把数组长度减 1,并返回它删除元素的值。

如果数组已经为空,则 pop() 不改变数组,并返回 undefined 值。

(2) shift()删除数组第一个元素

语法 :arrayObject.shift()

(3)unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

语法:arrayObject.unshift((newelement1,newelement2,....,newelementX)

(4)push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。

语法: arrayObject.push(newelement1,newelement2,....,newelementX)

// var arr = [12, 15, "abc", 89, false];

    /*  
    //删除尾部最后一个元素
     arr.pop();
        document.write(arr); */

    /* 
    //删除头部最后一个元素
    arr.shift();
      document.write(arr); */


    /*  
     //在尾部添加元素
    arr.push('hello', 99);
      document.write(arr); */


    /*  //在头部添加元素
      arr.unshift('hello', 99);
      document.write(arr);  */

    //数组去重

    /*  var arr = [10, 20, 10, 30, 10, 20, 89, 98];
      var a = [];
      for (var i = 0; i < arr.length; i++) {
          var item = arr[i];
          if (a.indexOf(item) === -1) {
              a.push(item);
          }
      }
      document.write(a);  */

    //  数组封装
    function noRepeat(arr) {
        var a = [];
        for (var i = 0; i < arr.length; i++) {
            var item = arr[i];
            if (a.indexOf(item) === -1) {
                a.push(item);
            }
        }
        return a;
    }

    var a = [10, 20, 10, 30, 10, 20, 89, 98];
    document.write("原数组", a);
    document.write("去重后数组", noRepeat(a));

(5)sort() 方法用于对数组的元素进行排序。

语法 :arrayObject.sort(sortby)

  • 如果不指定<方法函数>,则按unicode码顺序排列。
  • 如果指定<方法函数>,则按<方法函数>所指定的排序方法排序。 myArray.sort(sortMethod);

注意:

该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。

比较函数应该具有两个参数 a 和 b,其返回值如下:

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
  • 若 a 等于 b,则返回 0。 若 a 大于 b,则返回一个大于 0 的值。
<script>
    /*    var arr = [10, 25, 13, 5, 95, 29, 89, 98];
        document.write("原数组", arr);
        arr.sort();
        document.write("排序后的数组", arr);  */
    /*   //升序 匿名函数
        var arr = [10, 25, 13, 5, 95, 29, 89, 98];
        arr.sort(function (a, b) {
            return a - b;
        });
        document.write("排序后的数组", arr);  */

    //降序
    /* var arr = [10, 25, 13, 5, 95, 29, 89, 98];
     arr.sort(function (a, b) {
         return b - a;
 
     });
     document.write("排序后的数组", arr); */


    //有名函数
    var arr = [10, 25, 13, 5, 95, 29, 89, 98];
    arr.sort(fn);
    function fn(a, b) {
        return b - a;

    };
    document.write("排序后的数组", arr);

</script>

(6)reverse() 方法用于颠倒数组中元素的顺序。

语法 :arrayObject.reverse()

<script>
    var arr = [10, 25, 13, 5, 95, 29, 89, 98];
    /*
    //颠倒
    arr.reverse();
     document.write(arr);  */
    /*拼接
        var arr2 = ["hello", false];
        var arr3 = ['box'];
        //document.write(arr.concat(arr2));
        document.write(arr.concat(arr2, arr3));  */

    // document.write(arr.join());
    document.write(arr.join("-"));



</script>

(7)splice() splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

语法: arrayObject.splice(index,howmany,item1,.....,itemX)

注意:

  • splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的 一个或多个值来替换那些被删除的元素。
  • 如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaScript数组有很多内置方法,可以操作和处理数据。以下是JavaScript数组的所有方法列表: 1. `concat()` - 连接两个或多个数组。 2. `copyWithin()` - 在数组内部将一段元素拷贝到另一个位置。 3. `entries()` - 返回一个迭代器对象,可以遍历数组所有的键值对。 4. `every()` - 检查数组中的所有元素是否满足一个条件。 5. `fill()` - 用静态值填充一个数组中的所有元素。 6. `filter()` - 通过指定条件过滤出符合条件的数组元素。 7. `find()` - 返回找到的第一个元素,满足条件。 8. `findIndex()` - 返回目标元素索引,满足条件。 9. `forEach()` - 遍历数组,对每个元素执行指定的操作。 10. `includes()` - 判断数组是否包含指定元素。 11. `indexOf()` - 返回指定元素第一个出现的位置索引。 12. `join()` - 连接数组元素,返回字符串。 13. `keys()` - 返回一个迭代器对象,可以遍历数组的键。 14. `lastIndexOf()` - 返回指定元素最后一次出现的位置索引。 15. `map()` - 遍历数组,对每个元素执行指定的操作,将结果放入数组。 16. `pop()` - 删除数组最后一个元素。 17. `push()` - 在数组末尾添加一个或多个元素。 18. `reduce()` - 对数组中的每个元素执行指定的操作,累积计算并返回最终结果。 19. `reduceRight()` - 与reduce()方法类似,不过是从右到左遍历数组。 20. `reverse()` - 反转数组元素的顺序。 21. `shift()` - 删除数组的第一个元素。 22. `slice()` - 截取数组元素,返回数组。 23. `some()` - 检查数组中是否存在至少一个元素满足一个条件。 24. `sort()` - 排序数组元素。 25. `splice()` - 删除、插入或替换数组中的元素。 26. `toString()` - 将数组转换成字符串。 27. `unshift()` - 在数组的开头添加一个或多个元素。 28. `valueOf()` - 返回数组本身。 以上方法中,有些方法会改变原数组,有些方法则不会。需要注意使用时,避免产生错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值