美文网首页
JavaScript Array数组

JavaScript Array数组

作者: 豆浆的铲屎官 | 来源:发表于2018-11-22 10:54 被阅读0次

Array可以包含任意类型的数据,并通过索引来访问每个元素;
用length取得数组的长度

var arr=[1,"2",null,true,{name:"array"}];
arr.length;

给Array的length重新赋值会改变Array的大小

arr.length=6; //[1,"2",null,true,{name:"array"},undefined]
arr.length=2; //[1,"2"]

也可以通过索引直接改变当前索引的值

arr[0]=2; //[2,"2"]

注意,如果通过索引改变值,索引大于当前的长度,也会改变Array的大小

arr[5]=5;  // [2,"2",undefined,undefined,5]

join

join(),插入分隔符,返回连接后的字符串,经常用于向后端发送数据

var arr=[1,2,3,4,5];
var str=arr.split('|');  //1|2|3|4|5

push和pop

可以实现一种类似于栈方法的行为(后进先出),push向数组的末端插入数据,pop删除最后一位项并返回该项的值;

var arr=[1,2,3,4];
arr.push(5,6); //[1,2,3,4,5,6]
var item=arr.pop(); // 6
arr //[1,2,3,4,5]

shift和unshift

使用push和shift可以实现类似于队列方法的行为(先进先出),shift移除数组的第一项并返回该项,并减少数组的长度。

var arr=[1,2];
arr.push(3,4); //[1,2,3,4]
var item=arr.shift(); //1
arr; //[2,3,4]

unshift 能够在数组前端插入任意数的项,并返回数组长度;

var arr=[1,2];
var len=arr.unshift(-1,0); //4;
arr;//[-1,0,1,2]

reverse和sort

reverse()方法用于把当前数组数据项反转过来。

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

sort() 方法用于把数组按照设定的规则进行排序,如果直接使用就默认进行排序;

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

sort() 可以接受一个函数,来实现自定义规则的排序;

var arr=[5,4,3,2,1];
arr.sort(function(value1,value2){
    //value1 当前项,value2前一项 .value1是从第二项开始
    if(value1<value2){
                    return -1;
                }
                else if(value1>value2){
                    return 1;
                }
                else{
                    return 0;
                }
})
arr; //[1,2,3,4,5]

concat和splice

concat() 先创建当前数组的副本,然后把传入的参数(可以是数组)添加到数组的末端,返回一个新的数组;

var arr=[1,2];
var arr1=arr.concat(3,[4,5]); // [1,2,3,4,5]

splice()方法就比较多变了,大致总结为三种:
1、删除 接受两个参数,要删除的第一项的位置和要删除的项数

var arr=[1,2,3,4,5];
var arr1=arr.splice(0,2); //删除索引0开始的两项数据,并返回删除的项;
arr; //[3,4,5]
arr1; //[1,2]

2、插入 接受3个或3个以上的数据,前面2个参数分别是起始位置,0(删除0项),后面的是要插入的项;

var arr=[1,2,3];
var arr1=arr.splice(1,0,3,4,5);  // [1,3,4,5,2,3]

3、替换 和插入是差不多的,只不过多了一个需要删除的项数,其实可以归为一类;

var arr=[1,2,3];
var arr1=arr.splice(1,2,3,4,5); //[1,3,4,5]

indexOf 和lastIndexOf

indexOf() 查询元素的位置,lastIndexOf() 从尾部开始往前查;

var arr=[1,2,3,1];
var index=arr.indexOf(2); //1
var index2=arr.lastIndexOf(1); //3
// 这个地方得注意,从尾部开始查询,并不代表索引就变了。比如此处,lastIndexOf(1),尾部第一位就是1,得到的索引并不是0 。

相关文章

网友评论

      本文标题:JavaScript Array数组

      本文链接:https://www.haomeiwen.com/subject/cmwcqqtx.html