引用类型(数组)

Array

创建数组的方法基本上有两种

1、使用Array构造函数

var arr=new Array();

var arr1=new Array(10);//创造了一个length为10的数组
var arr2=new Array("a","b","c");//创造了一个长度为3的,内容为a,b,c三个字符串的数组

2、使用字面量表示法

var arr3=["a","b","c"]; //内容等同于arr2
var arr4=[, , ,]//创建了长度为34的数组内容为空

我们可以通过索引值访问到数组中的值

var arr=["a","b","c","d"];
alert(arr[0])  //a

索引永远是从0开始的,也就是数组的是0,1,2,3,4,5…..以此类推,索引0是第1个值

数组的方法

所有对象都具有toLocaleString()、toString()、valueOf()方法。数组的toString方法会返回每个值的字符串形式拼接而成的一个以逗号分隔的字符串。而valueOf()方法调用的时候会先使用一边toString()方法

var arr=["apple","banana","cat","dog"];
console.log(arr.toString());//apple,banana,cat,dog
console.log(arr.valueOf());//apple,banana,cat,dog
console.log(arr.toLocaleString());//apple,banana,cat,dog

数组的join()方法

这个方法是使数组分割成字符串的时候,以选定的分隔符分割

var arr=["apple","banana","cat","dog"];
console.log(arr.join("||"));//apple||banana||cat||dog
console.log(arr.join("\t xss"));//apple  xssbanana   xsscat  xssdog

数组的push和pop方法(模拟栈)

push()方法可以接收任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从末尾移除最后一项,减少数组的length值

var arr=new Array();
var count=arr.push("apple","banana");
    alert(arr.length);//2
    console.log(count);//2
    arr.push("cat");
    console.log(arr.length)//3
    var i=arr.pop();
    console.log(i);//cat

数组的shift()方法(模拟队列先进先出)

var arr=new Array()
arr.push("apple","blue");
var item=arr.shift();
console.log(item);//apple

数组的unshift()方法,下面的例子模仿向前添加项,从后的删除项

var arr=new Array()
arr.unshift("apple","blue","cat");
arr.unshift("dog");
var item=arr.pop();
console.log(item);

数组反转方法 reverse()方法

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

数组排序方法 sort()方法

*该方法默认情况下,按照toString()转型方法后得到的字符串排序也就是说

var arr=[0,1,5,10,15];
arr.sort(); 
console.log(arr)//0,1,10,15,5;

*但是呢 sort()方法可以接收一个函数作为参数

//比较函数(从小到大)
function compare(a,b){
        if (a>b) {
            return 1;
        }else if(a<b){
            return -1;
        }else{
            return 0;
        }
    }

数组的concat()方法

此方法不改变原始数组的值,而是返回一个修改后的值
如下

    var arr1=["apple","boy","cat"];
    var arr2=arr1.concat("dog",["egg","flag"]);
    console.log(arr1);//apple boy cat
    console.log(arr2);//apple boy cat dog egg flag

数组的slice()方法

该方法可以接收两个参数,只有一个参数的话返回从该索引到最后一个所有的所有值
两个参数的话返回该所以到第二个参数的位置的值

例:

var arr=["apple","boy","cat","dog","egg"];
var arr1=arr.slice(2);
console.log(arr1);//cat dog egg
var arr2=arr.slice(1,3);
console.log(arr2);//boy cat 

*数组的splice()方法

该方法有删除,插入,替换三种功能

var arr=["apple","boy","cat","dog"];
//删除
var remove =arr.splice(0,1);
console.log(remove);/apple
console.log(arr);boy cat dog
//插入
var remove2=arr.splice(3,0,"egg")
console.log(arr)//boy cat dog egg;
//替换
var remove3=arr.splice(3,1,"exp");
console.log(arr)//boy cat dog exp;

indexOf() 方法 和lastIndexOf()方法

这个两个方法都是数组的位置方法,第一个是从索引0向后查找,第二个是从后往索引0的位置开始查找;一旦查找到第一个则返回这个参数在数组中的位置的索引值,若数组中没有该值则返回-1;

var arr=new Array();
    arr=["apple","boy","cat","cat","dog","apple","boy","cat","dog"];
    console.log(arr.indexOf("cat"));//2
    console.log(arr.lastIndexOf("cat"));// 7
    console.log(arr.indexOf("egg");//-1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值