Array的内置方法api

Array的内置方法api

判断数组与转换数组

Instanceof:是一个关键字用来判断A类型是否是B类型

返回值类型:boolean

 var arr1 = [1,2,3];
    var arr2 = new Array();
    var str1 = "s";
    var str2 = new String("s");
    alert(arr1 instanceof Array );//结果为true,arr1是Array(数组类型)
    alert(arr2 instanceof Array );//结果为true,arr2是Array(数组类型)
    alert(str1 instanceof Array );//结果为false,str1不是Array(数组类型)
    alert(str2 instanceof Array );//结果为false,str2不是Array(数组类型)
Array.isArray() Html5中新增,用来判断是不是数组

返回值类型:boolean
调用者:Array
参数:变量(被检测的值)

var arr1 = [1,2,3];
    var arr2 = new Array();
    var str1 = "s";
    var str2 = new String("s");
    alert(Array.isArray(arr1));//结果为true,arr1是Array(数组类型)
    alert(Array.isArray(arr2));//结果为true,arr2是Array(数组类型)
    alert(Array.isArray(str1));//结果为false,str1不是Array(数组类型)
    alert(Array.isArray(str2));//结果为false,str2不是Array(数组类型)
toString() 把数组转换成字符串,每项用,分割
 var str3 = arr1.toString();
Join 把数组元素用特殊方式链接成字符串(参数决定用什么链接,无参默认用逗号链接)

*变量可以有可以没有。不写默认用逗号分隔,无缝连接用空字符串。

    var arr1 = ["金克丝","凯特琳","卡莉斯塔","崔斯塔那","伊泽瑞尔"];
    var str1 = arr1.join();
    var str2 = arr1.join(" ")//如果用空格的话,那么元素之间会有一个空格
    var str3 = arr1.join("");//用空字符串,链接元素,无缝连接
    var str4 = arr1.join("|");
    console.log(str1);//运行结果为:金克丝,凯特琳,卡莉斯塔,崔斯塔那,伊泽瑞尔
    console.log(str2);//运行结果为:金克丝 凯特琳 卡莉斯塔 崔斯塔那 伊泽瑞尔
    console.log(str3);//运行结果为:金克丝凯特琳卡莉斯塔崔斯塔那伊泽瑞尔
    console.log(str4);//运行结果为:金克丝|凯特琳|卡莉斯塔|崔斯塔那|伊泽瑞尔

数组增删和换位置(原数组被修改)

push() 在数组最后面插入项,返回数组的长度

返回值:返回数组的长度

    var arr = ["金克丝","凯特琳","卡莉斯塔","崔斯塔那","伊泽瑞尔"];
    var arr1 = [1,2,3];
    console.log(arr);
    var aaa = arr.push("a");
    var aaa = arr.push("a","b");
    var aaa = arr.push(arr1);//也可添加数组
    console.log(aaa);
    console.log(arr);
pop() 取出数组中的最后一项,返回新被删除的元素

返回值:返回新被删除的元素

        var arr = ["金克丝","凯特琳","卡莉斯塔","崔斯塔那","伊泽瑞尔"];
        var arr1 = [1,2,3];
        aaa = arr.pop();
        console.log(aaa);
        console.log(arr);
unshift()在数组最前面插入项,返回数组的长度

返回值:返回数组的长度

      var arr = ["金克丝","凯特琳","卡莉斯塔","崔斯塔那","伊泽瑞尔"];
      var arr1 = [1,2,3];
      aaa = arr.unshift("abc");
      console.log(aaa);
      console.log(arr);//打印内容["abc", "金克丝", "凯特琳", "卡莉斯塔", "崔斯塔那", "伊泽瑞尔"]
shift() 取出数组中的第一个元素,返回最后一项

返回值:返回取出的一项

    var arr = ["金克丝","凯特琳","卡莉斯塔","崔斯塔那","伊泽瑞尔"];
    var arr1 = [1,2,3];
    aaa = arr.shift();
    console.log(aaa);
    console.log(arr);
reverse()翻转数组(原数组将被反转,返回值也是被反转后的数组)

返回值:返回值也是被反转后的数组

      var arr = ["e","d","c","b","a"];
      console.log(arr);
      var aaa = arr.reverse();
      console.log(aaa);
      console.log(arr);
sort();给数组排序,返回排序后的数组。如何排序看参数。

*无参:按照数组元素的首字符对应的Unicode编码值从小到大排列数组元素。
带参:必须为函数(回调函数–callback)。函数中带有两个参数,代表数组中的前后元素。如果计算后(a-b),返回值为负数,a排b前面。等于0不动.返回值为正数,a排b后面。*
就是说:a-b为升序排列,b-a为降序排列

      var arr = ["e","d","c","b","a"];
      var arr2 = [7,6,15,4,13,2,1];
      console.log(arr);
      console.log(arr.sort());
      console.log(arr2);
      console.log(arr2.sort());
      //回调函数  a-b升序,b-a降序
      console.log(arr2.sort(function (a,b) {
          return a-b;

      }));
      console.log(arr2.sort(function (a,b) {
          return b-a;

      }));

重点:数组排序:sort(功能很强大!能对数字和字母进行排列。
问题:只能通过第一位排列。解决问题办法:设计的时候就是这么设计的,可以通过回掉函数进行规则设置

数组的连接与截取

concat()把参数拼接到当前数组

返回值:返回值也是连接后的数组

    var arr1 = ["a","b","c"];
    var arr2 = [1,2,3];
    var arr3 = arr1.concat(arr2);
    console.log(arr1);
    console.log(arr2);
    console.log(arr3);
slice()从当前数组中截取一个新的数组,不影响原来的数组

参数:start从0开始,end从1开始

      var arr1 = ["a","b","c"];
      var arr2 = [1,2,3];
      var arr3 = arr1.concat(arr2);
      console.log(arr3);
      var arr4 = arr3.slice(2);//打印结果["c",1,2,3]
      var arr4 = arr3.slice(-2);//打印结果[2,3]
      var arr4 = arr3.slice(4,2);//打印结果[]
      var arr4 = arr3.slice(2,4);//打印结果["c", 1]索引值包括坐标的不包括右边的。
      console.log(arr1);
      console.log(arr4);

注意:索引值包括坐标的不包括右边的。
替换的元素不能是以数组形式存在,否则将整个数组放进原数组中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值