JavaScript内置对象之-Array

JavaScript内置对象就是指这个语言自带的一些对象,供开发者使用,这些对象提供了一些常用的或是最基本而必要的功能。

1.Array.isArray(arr);这是一个静态方法。判断变量arr是否为一个数组,是则返回true,否则返回false。

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

2.puch()向数组的末尾添加元素,参数为一个或更多元素,改变原数组,返回值为新数组的长度

    var arr = [1,2,3,4,5,6];
    var res = arr.push("a",3,4,5,"hahah");
    console.log(res);

3.unshift()在数组的头部添加元素,参数为一个或多个元素,改变原数组,返回值为新数组的长度

    var arr = [1,2,3,4,5,6];
    var res = arr.unshift("a",3,4,5,"hahah");
    console.log(res);

4.pop()删除数组的最后一个元素,没有参数,改变原数组,返回值为被删除的数据

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

5.shift()删除数组的第一个元素,没有参数,改变原数组,返回值为被删除的数据

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

6.splice(),参数为一个时,表示从指定索引删除到结束;参数为两个时,第一个表示索引,第二个表示要删除的个数;参数为多个时,第一个表示索引,第二个表示要删除的个数,第三个及之后的元素添加到被删除的元素的位置

    var arr = [1,2,3,4,5,6];
    var res = arr.splice(2);
    console.log(res);
    console.log(arr);
    var arr = [1,2,3,4,5,6];
    var res = arr.splice(2,2);
    console.log(res);
    console.log(arr);
    var arr = [1,2,3,4,5,6];
    var res = arr.splice(2,2,"zhangsan","lisi",true,"hahah",3.1415);
    console.log(res);
    console.log(arr);

7.reverse()数组翻转,即颠倒数组中元素的顺序,没有参数,改变原数组,返回值为改变后的数组

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

8.join()将数据转成字符,没有参数,不改变原数组,返回值为字符型数据

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

9.slice()复制元素,参数为一个时,从指定索引复制该索引及之后的数据;参数为两个时,表示从指定索引开始复制第一个索引到第二个索引前一个的元素,不改变原数组,返回值为所复制的元素

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

10.sort()数组排序,默认是字符的排序规则,即逐位比较,得到结果就停止,没有参数,改变原数组,返回值为改变后的数组

	var arr = [45,63,2456,163,79];
	console.log(arr);
	var res = arr.sort();
	console.log(res);
	console.log(arr);

改变这种情况的方式:传一个回调函数。返回值为a-b时,输出的是从小到大排序;返回的值为b-a时,输出的是从大到小的排序

    var arr = [45,63,2456,163,79];
    console.log(arr);
    arr.sort(function(a,b){
        return a-b;
    })
    console.log(arr);

11.concat()合并数组,参数为一个或多个,不改变原数组,返回值为合并后的数组

  var arr1 = ["a","b"];
  var arr2 = [4,5];
  var res = arr1.concat(arr2);
  console.log(res);
  console.log(arr1);
  console.log(arr2);

12.indexOf()根据传入的元素,查找数组中的位置,参数为一个时表示要查找的数据;参数为两个时,第一个表示要查找的数据,第二个表示从第几位开始找,没改变原数组,找到了返回索引,没找到返回-1

   var arr = [45,12,37,24,76,42,89,13,24,76,45];
    console.log(arr);
    var n = arr.indexOf(24,5);
    console.log(n);

lastIndexOf()从后往前查找,参数为一个时表示要查找的数据;参数为两个时,第一个表示要查找的数据,第二个表示从第几个开始往前查找,没有改变原数组,找到了返回索引,没找到返回-1

    var arr = [45,12,37,24,76,42,89,13,24,76,45];
    console.log(arr);
    var n = arr.lastIndexOf(24,5);
    console.log(n);

13.迭代(遍历)
1)forEach()遍历数组,与for循环一样,参数为回调函数,没有改变原数组,返回值为undefined,回调函数的返回值没有造成什么影响,val代表数组的值,idx代表数组的索引,self代表数组本身

    var arr = [45,12,37,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.forEach(function(val,idx,self){
        console.log(val,"---",idx,"---",self);
        // console.log(val);
        return "hello"; 
    })
    console.log(res);

2)map()方法可以修改值,并返回到新数组中,参数为回调函数,没有改变原数组,返回值为数组,回调函数的返回值被放在了map最终返回的数组内

    var arr = [45,12,37,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.map(function(val,idx,self){
        console.log(val,"---",idx,"---",self);
        // return "hello";
        return val * 1.3;
    })
    console.log(res);
    console.log(arr);

3)filter()可以过滤值,并返回到一个新数组中(返回所有满足给定条件的数据项所组成的新数组),参数为回调函数,没有改变原数组的值,返回值为原数组,回调函数的返回值没有造成什么影响

    var arr = [45,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.filter(function(val,idx,self){
        // console.log(val,"---",idx,"---",self);
        return val > 50;
    })
    console.log(res);
    console.log(arr);

4)some()遍历数组中是否有符合条件的值,只要有一项符合,那么就是true,同时停止遍历,参数为回调函数,没有改变原数组的值,回调函数的返回值没有造成什么影响

    var arr = [45,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.some(function(val,idx,self){
        console.log(val,"---",idx,"---",self);
        return val == 42;
    })
    console.log(res);
    console.log(arr);

5)every()遍历数组中是否有符合条件的值,必须全部符合,如果有一个不符合,就是false,同时停止遍历,参数为回调函数,没有改变原数组的值,回调函数的返回值没有造成什么影响

    var arr = [45,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.every(function(val,idx,self){
        console.log(val,"---",idx,"---",self);
        // return val < 80;
        return "hello"
    })
    console.log(res);
    console.log(arr);

14.reduce()和reduceRight只是遍历方向不同,他们的主要功能是归并,可以将每次回调函数的返回值,传入下次回调函数的执行,作为下次回调函数的第一个参数存在,prev表示上一次回到函数执行的返回值,例题是计算数组的数值加起来的总和

    var arr = [45,24,76,42,89,13,24,76,45];
    console.log(arr);
    var res = arr.reduce(function(prev,val,idx,self){
        // console.log(prev,"---",val,"---",idx,"---",self);
        return prev + val;
        return "hello"
    })
    console.log(res);
    console.log(arr);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值