JavaScript中的数组方法扩展

前言:文章是本人闲时所写,方便自己以后查阅,如若有幸被您阅读的话,备感荣幸,文章仅为个人理解,如内容有误还望告知,感谢!!!

1.push()

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

实例

	var arr = [1, 2, 3, 4, 5]; 
	console.log(arr.push(6)); //输出数组的新长度
	console.log(arr); //输出新的数组

输出结果:
push()
unshift()方法是向数组的开头添加一个或更多元素,并返回新的长度。

2.pop()

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

实例

	var arr = [1, 2, 3, 4, 5];
    console.log(arr.pop()); //输出数组的最后一个元素
    console.log(arr); //输出新的数组

输出结果:
pop
shift() 方法把数组的第一个元素从其中删除,并返回第一个元素的值。

3.join()

join() 方法用于把数组中的所有元素放入一个字符串。返回值是字符串。不会影响原数组。
实例

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

输出结果:
在这里插入图片描述
如果传参,则作为数组元素之间的分隔符。

4.splice() ☆

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。会影响原数组。
实例:

		var arr = [1, 2, 3, 4, 5];
        console.log(arr.splice(2, 2)); //从下标为2开始,截取两个元素
        console.log(arr);  //会影响原数组

输出结果:
在这里插入图片描述
如果传多个参数,那么第三个及以后的参数将作为新元素添加到数组中。
实例:

		var arr = [1, 2, 3, 4, 5];
        console.log(arr.splice(2, 2, 11, 22, 33));
        console.log(arr);

输出结果:
在这里插入图片描述

5.slice() ☆

slice() 方法可从已有的数组中返回选定的元素。不会影响原数组。
实例:

		var arr = [1, 2, 3, 4, 5];
        console.log(arr.slice(2, 4)); //从下标为2开始,截取到下标为4然后返回
        console.log(arr);

输出结果:
在这里插入图片描述

6.reverse()

reverse() 方法用于颠倒数组中元素的顺序。该方法会改变原来的数组,不会创建新的数组。
实例:

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

输出结果:
在这里插入图片描述

7.concat()

concat() 方法用于连接两个或多个数组。不会改变原数组。参数可以是具体的值,也可以是数组对象。可以是任意多个。
实例:

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

输出结果:
在这里插入图片描述

8.forEach(callback) ☆

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。相当于一个循环。
callback是回调函数,他有三个默认默认的参数: item(数组的具体项), index(数组的索引), arry(数组本身)。
实例:

	var arr = [1, 2, 3, 4, 5];
        arr.forEach(function(item, i){
             arr[i] = item + 1;  //给每一个数组成员加1
        })
        console.log(arr);

输出结果:
在这里插入图片描述

9.map(callback) ☆

map和forEach很想,也有三个默认参数。map必须有return,他不影响原数组,他返回一个新数组。
实例:

	var arr = [1, 2, 3, 4, 5];
         var arr2 = arr.map(function(item, i){
             return item*item;  //将每一个数组平方
        })
        console.log(arr);
        console.log(arr2);

输出结果:
在这里插入图片描述

注意:forEach和map需要注意:
1.在他们的回调函数中,如果使用this,this指向的是window
2.没有办法使用break跳出循环

10.some() /和 every()

直接上实例:

	var arr = [1, 2, 3, 4, 5];
        //判断数组中有没有一个元素是大于2的,返回true或者false
        console.log(arr.some(function(item){
             return item > 2;
        }));
        //判断数组中的元素是不是都大于2,返回true或者false
        console.log(arr.every(function(item){
             return item > 2;
        }));

输出结果:
在这里插入图片描述

11.Array.from()

将伪数组转换为真数组。

什么是伪数组:伪数组也叫类数组,它无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以用真正数组遍历方法来遍历它们。

实例:

		var likeArr = {0: 'a', 1: 'b', 2: 'c', length:3};
        var arr1 = Array.from(likeArr);
        console.log(arr1);
        console.log(likeArr);

输出结果:
在这里插入图片描述
如果传两个参数,第二个参数是一个callback,这个回调起的作用相当于 map()
实例:

		var likeArr = {0: 'a', 1: 'b', 2: 'c', length:3};
        var arr2 = Array.from(likeArr, function(item, i){
             return i + '-' + item;
        })
        console.log(arr2);

输出结果:
在这里插入图片描述

12.Array.of()

当用 new Array( )构造器时,根据传入参数的数量的不同,实际上会导致一些不同的结果, 例如:

		var arr1 = new Array(3);
        console.log(arr1);
        var arr2 = new Array(3,2);
        console.log(arr2);

输出结果:
在这里插入图片描述
所以ES6 引入了Array.of( )这个方法来解决这个问题。该方法的作用非常类似Array构造器,但在使用单个数值参数的时候并不会导致特殊结果。Array.of( )方法总会创建一个包含所有传入参数的数组,而不管参数的数量与类型。实例:

		var arr1 = Array.of(2);
        console.log(arr1);
        var arr2 = Array.of(2, 3);
        console.log(arr2);

输出结果:
在这里插入图片描述

13.fill()

fill() 方法用于将一个固定值替换数组的元素。并返回一个新数组。
实例:

		var arr = [1, 2, 3, 4, 5];
        // console.log(arr.fill('xm'));    //如果只传一个字符串,那么会替换所有的数组元素
        console.log(arr.fill('xm', 1, 3));  //将下标为1到3的元素替换成字符串'xm'
        console.log(arr);

输出结果:
在这里插入图片描述

14.find(callback)

查找数组中有没有符合条件的元素,如果有则返回一个元素,如果没有则返回undefined。
实例:

		var arr = [1, 2, 3, 4, 5];
        console.log(arr.find(function(item, i){
             return item > 5;
        }));
        console.log(arr.find(function(item, i){
             return item > 2;
        }));

输出结果;
在这里插入图片描述

以上仅为个人理解,如内容有误还望告知,感谢!!!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值